Packages

Google Cloud Storage JSON API client library. Stores and retrieves potentially large, immutable data objects.

Current section

Files

Jump to
googly_cloud_storage lib googly cloud_storage encoder.ex
Raw

lib/googly/cloud_storage/encoder.ex

# NOTE: This file is auto generated by googly. Do not edit it manually.
defmodule Googly.CloudStorage.Encoder do
@moduledoc false
@doc false
# Encoding for every model is defined once via the `defimpl` below, which
# delegates here: nil fields are dropped (so PATCH requests don't clobber
# unset fields) and snake_case keys are mapped to their exact wire names.
def to_map(struct) do
wire = struct.__struct__.__wire__()
struct
|> Map.from_struct()
|> Enum.reduce(%{}, fn
{_key, nil}, acc -> acc
{key, value}, acc -> Map.put(acc, Map.get(wire, key, Atom.to_string(key)), value)
end)
end
end
defimpl Jason.Encoder,
for: [
Googly.CloudStorage.Model.AdvanceRelocateBucketOperationRequest,
Googly.CloudStorage.Model.AnywhereCache,
Googly.CloudStorage.Model.AnywhereCaches,
Googly.CloudStorage.Model.Bucket,
Googly.CloudStorage.Model.BucketAccessControl,
Googly.CloudStorage.Model.BucketAccessControlProjectTeam,
Googly.CloudStorage.Model.BucketAccessControls,
Googly.CloudStorage.Model.BucketAutoclass,
Googly.CloudStorage.Model.BucketBilling,
Googly.CloudStorage.Model.BucketCors,
Googly.CloudStorage.Model.BucketCustomPlacementConfig,
Googly.CloudStorage.Model.BucketEncryption,
Googly.CloudStorage.Model.BucketEncryptionCustomerManagedEncryptionEnforcementConfig,
Googly.CloudStorage.Model.BucketEncryptionCustomerSuppliedEncryptionEnforcementConfig,
Googly.CloudStorage.Model.BucketEncryptionGoogleManagedEncryptionEnforcementConfig,
Googly.CloudStorage.Model.BucketHierarchicalNamespace,
Googly.CloudStorage.Model.BucketIamConfiguration,
Googly.CloudStorage.Model.BucketIamConfigurationBucketPolicyOnly,
Googly.CloudStorage.Model.BucketIamConfigurationUniformBucketLevelAccess,
Googly.CloudStorage.Model.BucketIpFilter,
Googly.CloudStorage.Model.BucketIpFilterPublicNetworkSource,
Googly.CloudStorage.Model.BucketIpFilterVpcNetworkSources,
Googly.CloudStorage.Model.BucketLifecycle,
Googly.CloudStorage.Model.BucketLifecycleRule,
Googly.CloudStorage.Model.BucketLifecycleRuleAction,
Googly.CloudStorage.Model.BucketLifecycleRuleCondition,
Googly.CloudStorage.Model.BucketLogging,
Googly.CloudStorage.Model.BucketObjectRetention,
Googly.CloudStorage.Model.BucketOwner,
Googly.CloudStorage.Model.BucketRetentionPolicy,
Googly.CloudStorage.Model.BucketSoftDeletePolicy,
Googly.CloudStorage.Model.BucketStorageLayout,
Googly.CloudStorage.Model.BucketStorageLayoutCustomPlacementConfig,
Googly.CloudStorage.Model.BucketStorageLayoutHierarchicalNamespace,
Googly.CloudStorage.Model.BucketVersioning,
Googly.CloudStorage.Model.BucketWebsite,
Googly.CloudStorage.Model.Buckets,
Googly.CloudStorage.Model.BulkRestoreObjectsRequest,
Googly.CloudStorage.Model.Channel,
Googly.CloudStorage.Model.ComposeRequest,
Googly.CloudStorage.Model.ComposeRequestSourceObjects,
Googly.CloudStorage.Model.ComposeRequestSourceObjectsObjectPreconditions,
Googly.CloudStorage.Model.Expr,
Googly.CloudStorage.Model.Folder,
Googly.CloudStorage.Model.FolderPendingRenameInfo,
Googly.CloudStorage.Model.Folders,
Googly.CloudStorage.Model.GoogleLongrunningListOperationsResponse,
Googly.CloudStorage.Model.GoogleLongrunningOperation,
Googly.CloudStorage.Model.GoogleRpcStatus,
Googly.CloudStorage.Model.HmacKey,
Googly.CloudStorage.Model.HmacKeyMetadata,
Googly.CloudStorage.Model.HmacKeysMetadata,
Googly.CloudStorage.Model.ManagedFolder,
Googly.CloudStorage.Model.ManagedFolders,
Googly.CloudStorage.Model.Notification,
Googly.CloudStorage.Model.Notifications,
Googly.CloudStorage.Model.Object,
Googly.CloudStorage.Model.ObjectAccessControl,
Googly.CloudStorage.Model.ObjectAccessControlProjectTeam,
Googly.CloudStorage.Model.ObjectAccessControls,
Googly.CloudStorage.Model.ObjectContexts,
Googly.CloudStorage.Model.ObjectCustomContextPayload,
Googly.CloudStorage.Model.ObjectCustomerEncryption,
Googly.CloudStorage.Model.ObjectOwner,
Googly.CloudStorage.Model.ObjectRetention,
Googly.CloudStorage.Model.Objects,
Googly.CloudStorage.Model.Policy,
Googly.CloudStorage.Model.PolicyBindings,
Googly.CloudStorage.Model.RelocateBucketRequest,
Googly.CloudStorage.Model.RelocateBucketRequestDestinationCustomPlacementConfig,
Googly.CloudStorage.Model.RewriteResponse,
Googly.CloudStorage.Model.ServiceAccount,
Googly.CloudStorage.Model.TestIamPermissionsResponse
] do
def encode(struct, opts),
do: Googly.CloudStorage.Encoder.to_map(struct) |> Jason.Encode.map(opts)
end