# 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