diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/api/operations.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/api/operations.ex index a96ad3afa8..d52906f575 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/api/operations.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/api/operations.ex @@ -86,7 +86,7 @@ defmodule GoogleApi.CloudFunctions.V1.Api.Operations do end @doc """ - Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id. + Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. ## Parameters @@ -103,10 +103,10 @@ defmodule GoogleApi.CloudFunctions.V1.Api.Operations do * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:filter` (*type:* `String.t`) - Required. A filter for matching the requested operations. The supported formats of *filter* are: To query for a specific function: project:*,location:*,function:* To query for all of the latest operations for a project: project:*,latest:true - * `:name` (*type:* `String.t`) - Must not be set. - * `:pageSize` (*type:* `integer()`) - The maximum number of records that should be returned. Requested page size cannot exceed 100. If not set, the default page size is 100. Pagination is only supported when querying for a specific function. - * `:pageToken` (*type:* `String.t`) - Token identifying which result to start with, which is returned by a previous list call. Pagination is only supported when querying for a specific function. + * `:filter` (*type:* `String.t`) - The standard list filter. + * `:name` (*type:* `String.t`) - The name of the operation's parent resource. + * `:pageSize` (*type:* `integer()`) - The standard list page size. + * `:pageToken` (*type:* `String.t`) - The standard list page token. * `opts` (*type:* `keyword()`) - Call options ## Returns diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/api/projects.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/api/projects.ex index 14bc7d2922..39be0c553e 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/api/projects.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/api/projects.ex @@ -532,6 +532,7 @@ defmodule GoogleApi.CloudFunctions.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:versionId` (*type:* `String.t`) - Optional. The optional version of the function whose details should be obtained. The version of a 1st Gen function is an integer that starts from 1 and gets incremented on redeployments. Each deployment creates a config version of the underlying function. GCF may keep historical configs for old versions. This field can be specified to fetch the historical configs. Leave it blank or set to 0 to get the latest version of the function. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -570,7 +571,8 @@ defmodule GoogleApi.CloudFunctions.V1.Api.Projects do :prettyPrint => :query, :quotaUser => :query, :uploadType => :query, - :upload_protocol => :query + :upload_protocol => :query, + :versionId => :query } request = diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/metadata.ex index 0570ec11e7..7bd6142158 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/metadata.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.CloudFunctions.V1 do API client metadata for GoogleApi.CloudFunctions.V1. """ - @discovery_revision "20221027" + @discovery_revision "20240229" def discovery_revision(), do: @discovery_revision end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/automatic_update_policy.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/automatic_update_policy.ex new file mode 100644 index 0000000000..148c5a2968 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/automatic_update_policy.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy do + @moduledoc """ + Security patches are applied automatically to the runtime without requiring the function to be redeployed. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy do + def decode(value, options) do + GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/binding.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/binding.ex index 791c223b53..b7259ea9a8 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/binding.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/binding.ex @@ -22,8 +22,8 @@ defmodule GoogleApi.CloudFunctions.V1.Model.Binding do ## Attributes * `condition` (*type:* `GoogleApi.CloudFunctions.V1.Model.Expr.t`, *default:* `nil`) - The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. - * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). """ use GoogleApi.Gax.ModelBase diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/cloud_function.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/cloud_function.ex index 3627f34009..3f365d5af2 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/cloud_function.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/cloud_function.ex @@ -22,6 +22,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do ## Attributes * `ingressSettings` (*type:* `String.t`, *default:* `nil`) - The ingress settings for the function, controlling what traffic can reach it. + * `automaticUpdatePolicy` (*type:* `GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy.t`, *default:* `nil`) - * `availableMemoryMb` (*type:* `integer()`, *default:* `nil`) - The amount of memory in MB available for a function. Defaults to 256MB. * `updateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The last update timestamp of a Cloud Function. * `secretEnvironmentVariables` (*type:* `list(GoogleApi.CloudFunctions.V1.Model.SecretEnvVar.t)`, *default:* `nil`) - Secret environment variables configuration. @@ -33,15 +34,16 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do * `name` (*type:* `String.t`, *default:* `nil`) - A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*` * `httpsTrigger` (*type:* `GoogleApi.CloudFunctions.V1.Model.HttpsTrigger.t`, *default:* `nil`) - An HTTPS endpoint type of source that can be triggered via URL. * `status` (*type:* `String.t`, *default:* `nil`) - Output only. Status of the function deployment. - * `dockerRegistry` (*type:* `String.t`, *default:* `nil`) - Docker Registry to use for this deployment. If `docker_repository` field is specified, this field will be automatically set as `ARTIFACT_REGISTRY`. If unspecified, it currently defaults to `CONTAINER_REGISTRY`. This field may be overridden by the backend for eligible deployments. - * `network` (*type:* `String.t`, *default:* `nil`) - The VPC Network that this cloud function can connect to. It can be either the fully-qualified URI, or the short name of the network resource. If the short network name is used, the network must belong to the same project. Otherwise, it must belong to a project within the same organization. The format of this field is either `projects/{project}/global/networks/{network}` or `{network}`, where `{project}` is a project id where the network is defined, and `{network}` is the short name of the network. This field is mutually exclusive with `vpc_connector` and will be replaced by it. See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for more information on connecting Cloud projects. + * `dockerRegistry` (*type:* `String.t`, *default:* `nil`) - Docker Registry to use for this deployment. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`. + * `network` (*type:* `String.t`, *default:* `nil`) - Deprecated: use vpc_connector * `buildId` (*type:* `String.t`, *default:* `nil`) - Output only. The Cloud Build ID of the latest successful deployment of the function. * `eventTrigger` (*type:* `GoogleApi.CloudFunctions.V1.Model.EventTrigger.t`, *default:* `nil`) - A source that fires events in response to a condition in another service. * `vpcConnectorEgressSettings` (*type:* `String.t`, *default:* `nil`) - The egress settings for the connector, controlling what traffic is diverted through it. * `maxInstances` (*type:* `integer()`, *default:* `nil`) - The limit on the maximum number of function instances that may coexist at a given time. In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate. See the [Max Instances](https://cloud.google.com/functions/docs/max-instances) Guide for more details. * `buildEnvironmentVariables` (*type:* `map()`, *default:* `nil`) - Build environment variables that shall be available during build time. + * `onDeployUpdatePolicy` (*type:* `GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy.t`, *default:* `nil`) - * `vpcConnector` (*type:* `String.t`, *default:* `nil`) - The VPC Network Connector that this cloud function can connect to. It can be either the fully-qualified URI, or the short name of the network connector resource. The format of this field is `projects/*/locations/*/connectors/*` This field is mutually exclusive with `network` field and will eventually replace it. See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for more information on connecting Cloud projects. - * `entryPoint` (*type:* `String.t`, *default:* `nil`) - The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in `source_location`. + * `entryPoint` (*type:* `String.t`, *default:* `nil`) - The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix (ID of the function), if not specified. * `environmentVariables` (*type:* `map()`, *default:* `nil`) - Environment variables that shall be available during function execution. * `dockerRepository` (*type:* `String.t`, *default:* `nil`) - User managed repository created in Artifact Registry optionally with a customer managed encryption key. If specified, deployments will use Artifact Registry. If unspecified and the deployment is eligible to use Artifact Registry, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. This is the repository to which the function docker image will be pushed after it is built by Cloud Build. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. * `sourceToken` (*type:* `String.t`, *default:* `nil`) - Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. @@ -50,6 +52,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do * `buildName` (*type:* `String.t`, *default:* `nil`) - Output only. The Cloud Build Name of the function deployment. `projects//locations//builds/`. * `sourceRepository` (*type:* `GoogleApi.CloudFunctions.V1.Model.SourceRepository.t`, *default:* `nil`) - **Beta Feature** The source repository where a function is hosted. * `minInstances` (*type:* `integer()`, *default:* `nil`) - A lower bound for the number function instances that may coexist at a given time. + * `buildServiceAccount` (*type:* `String.t`, *default:* `nil`) - Optional. A service account the user provides for use with Cloud Build. * `sourceArchiveUrl` (*type:* `String.t`, *default:* `nil`) - The Google Cloud Storage URL, starting with `gs://`, pointing to the zip archive which contains the function. * `sourceUploadUrl` (*type:* `String.t`, *default:* `nil`) - The Google Cloud Storage signed URL used for source uploading, generated by calling [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on write methods (Create, Update) The signature is stripped from the Function object on read methods (Get, List) * `timeout` (*type:* `String.t`, *default:* `nil`) - The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds. @@ -60,6 +63,8 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do @type t :: %__MODULE__{ :ingressSettings => String.t() | nil, + :automaticUpdatePolicy => + GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy.t() | nil, :availableMemoryMb => integer() | nil, :updateTime => DateTime.t() | nil, :secretEnvironmentVariables => @@ -79,6 +84,8 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do :vpcConnectorEgressSettings => String.t() | nil, :maxInstances => integer() | nil, :buildEnvironmentVariables => map() | nil, + :onDeployUpdatePolicy => + GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy.t() | nil, :vpcConnector => String.t() | nil, :entryPoint => String.t() | nil, :environmentVariables => map() | nil, @@ -89,6 +96,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do :buildName => String.t() | nil, :sourceRepository => GoogleApi.CloudFunctions.V1.Model.SourceRepository.t() | nil, :minInstances => integer() | nil, + :buildServiceAccount => String.t() | nil, :sourceArchiveUrl => String.t() | nil, :sourceUploadUrl => String.t() | nil, :timeout => String.t() | nil, @@ -96,6 +104,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do } field(:ingressSettings) + field(:automaticUpdatePolicy, as: GoogleApi.CloudFunctions.V1.Model.AutomaticUpdatePolicy) field(:availableMemoryMb) field(:updateTime, as: DateTime) @@ -119,6 +128,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do field(:vpcConnectorEgressSettings) field(:maxInstances) field(:buildEnvironmentVariables, type: :map) + field(:onDeployUpdatePolicy, as: GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy) field(:vpcConnector) field(:entryPoint) field(:environmentVariables, type: :map) @@ -129,6 +139,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.CloudFunction do field(:buildName) field(:sourceRepository, as: GoogleApi.CloudFunctions.V1.Model.SourceRepository) field(:minInstances) + field(:buildServiceAccount) field(:sourceArchiveUrl) field(:sourceUploadUrl) field(:timeout) diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/generate_upload_url_request.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/generate_upload_url_request.ex index be7a24fb15..208fd7dcce 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/generate_upload_url_request.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/generate_upload_url_request.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GenerateUploadUrlRequest do ## Attributes - * `kmsKeyName` (*type:* `String.t`, *default:* `nil`) - Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in staging Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to a staging Cloud Storage bucket in an internal regional project. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred). GCF will delegate access to the Google Storage service account in the internal project. + * `kmsKeyName` (*type:* `String.t`, *default:* `nil`) - Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred). GCF will delegate access to the Google Storage service account in the internal project. """ use GoogleApi.Gax.ModelBase diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2_location_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2_location_metadata.ex new file mode 100644 index 0000000000..28bbad56ca --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2_location_metadata.ex @@ -0,0 +1,51 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2LocationMetadata do + @moduledoc """ + Extra GCF specific location information. + + ## Attributes + + * `environments` (*type:* `list(String.t)`, *default:* `nil`) - The Cloud Function environments this location supports. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :environments => list(String.t()) | nil + } + + field(:environments, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2LocationMetadata do + def decode(value, options) do + GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2LocationMetadata.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2LocationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2_operation_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2_operation_metadata.ex index 3d143045e4..03f5a735fd 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2_operation_metadata.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2_operation_metadata.ex @@ -22,10 +22,12 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2OperationMetad ## Attributes * `apiVersion` (*type:* `String.t`, *default:* `nil`) - API version used to start the operation. - * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation was created. * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation finished running. + * `operationType` (*type:* `String.t`, *default:* `nil`) - The operation type. * `requestResource` (*type:* `map()`, *default:* `nil`) - The original request that started the operation. + * `sourceToken` (*type:* `String.t`, *default:* `nil`) - An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. * `stages` (*type:* `list(GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2Stage.t)`, *default:* `nil`) - Mechanism for reporting in-progress stages * `statusDetail` (*type:* `String.t`, *default:* `nil`) - Human-readable status of the operation, if any. * `target` (*type:* `String.t`, *default:* `nil`) - Server-defined resource path for the target of the operation. @@ -39,7 +41,9 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2OperationMetad :cancelRequested => boolean() | nil, :createTime => DateTime.t() | nil, :endTime => DateTime.t() | nil, + :operationType => String.t() | nil, :requestResource => map() | nil, + :sourceToken => String.t() | nil, :stages => list(GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2Stage.t()) | nil, :statusDetail => String.t() | nil, @@ -51,7 +55,9 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2OperationMetad field(:cancelRequested) field(:createTime, as: DateTime) field(:endTime, as: DateTime) + field(:operationType) field(:requestResource, type: :map) + field(:sourceToken) field(:stages, as: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2Stage, type: :list) field(:statusDetail) field(:target) diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2alpha_location_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2alpha_location_metadata.ex new file mode 100644 index 0000000000..34c2134746 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2alpha_location_metadata.ex @@ -0,0 +1,51 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaLocationMetadata do + @moduledoc """ + Extra GCF specific location information. + + ## Attributes + + * `environments` (*type:* `list(String.t)`, *default:* `nil`) - The Cloud Function environments this location supports. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :environments => list(String.t()) | nil + } + + field(:environments, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaLocationMetadata do + def decode(value, options) do + GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaLocationMetadata.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaLocationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2alpha_operation_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2alpha_operation_metadata.ex index 3817a50609..386f9746c8 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2alpha_operation_metadata.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2alpha_operation_metadata.ex @@ -22,10 +22,12 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaOperation ## Attributes * `apiVersion` (*type:* `String.t`, *default:* `nil`) - API version used to start the operation. - * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation was created. * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation finished running. + * `operationType` (*type:* `String.t`, *default:* `nil`) - The operation type. * `requestResource` (*type:* `map()`, *default:* `nil`) - The original request that started the operation. + * `sourceToken` (*type:* `String.t`, *default:* `nil`) - An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. * `stages` (*type:* `list(GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaStage.t)`, *default:* `nil`) - Mechanism for reporting in-progress stages * `statusDetail` (*type:* `String.t`, *default:* `nil`) - Human-readable status of the operation, if any. * `target` (*type:* `String.t`, *default:* `nil`) - Server-defined resource path for the target of the operation. @@ -39,7 +41,9 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaOperation :cancelRequested => boolean() | nil, :createTime => DateTime.t() | nil, :endTime => DateTime.t() | nil, + :operationType => String.t() | nil, :requestResource => map() | nil, + :sourceToken => String.t() | nil, :stages => list(GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaStage.t()) | nil, :statusDetail => String.t() | nil, @@ -51,7 +55,9 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaOperation field(:cancelRequested) field(:createTime, as: DateTime) field(:endTime, as: DateTime) + field(:operationType) field(:requestResource, type: :map) + field(:sourceToken) field(:stages, as: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2alphaStage, diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2beta_location_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2beta_location_metadata.ex new file mode 100644 index 0000000000..594fa52378 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2beta_location_metadata.ex @@ -0,0 +1,51 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaLocationMetadata do + @moduledoc """ + Extra GCF specific location information. + + ## Attributes + + * `environments` (*type:* `list(String.t)`, *default:* `nil`) - The Cloud Function environments this location supports. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :environments => list(String.t()) | nil + } + + field(:environments, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaLocationMetadata do + def decode(value, options) do + GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaLocationMetadata.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaLocationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2beta_operation_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2beta_operation_metadata.ex index 42490e038e..535e93ce09 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2beta_operation_metadata.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/google_cloud_functions_v2beta_operation_metadata.ex @@ -22,10 +22,12 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaOperationM ## Attributes * `apiVersion` (*type:* `String.t`, *default:* `nil`) - API version used to start the operation. - * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation was created. * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation finished running. + * `operationType` (*type:* `String.t`, *default:* `nil`) - The operation type. * `requestResource` (*type:* `map()`, *default:* `nil`) - The original request that started the operation. + * `sourceToken` (*type:* `String.t`, *default:* `nil`) - An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. * `stages` (*type:* `list(GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaStage.t)`, *default:* `nil`) - Mechanism for reporting in-progress stages * `statusDetail` (*type:* `String.t`, *default:* `nil`) - Human-readable status of the operation, if any. * `target` (*type:* `String.t`, *default:* `nil`) - Server-defined resource path for the target of the operation. @@ -39,7 +41,9 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaOperationM :cancelRequested => boolean() | nil, :createTime => DateTime.t() | nil, :endTime => DateTime.t() | nil, + :operationType => String.t() | nil, :requestResource => map() | nil, + :sourceToken => String.t() | nil, :stages => list(GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaStage.t()) | nil, :statusDetail => String.t() | nil, @@ -51,7 +55,9 @@ defmodule GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaOperationM field(:cancelRequested) field(:createTime, as: DateTime) field(:endTime, as: DateTime) + field(:operationType) field(:requestResource, type: :map) + field(:sourceToken) field(:stages, as: GoogleApi.CloudFunctions.V1.Model.GoogleCloudFunctionsV2betaStage, diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/location.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/location.ex index 73064201f0..813355259c 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/location.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/location.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.Location do @moduledoc """ - A resource that represents Google Cloud Platform location. + A resource that represents a Google Cloud location. ## Attributes diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/on_deploy_update_policy.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/on_deploy_update_policy.ex new file mode 100644 index 0000000000..7c07bafa4c --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/on_deploy_update_policy.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy do + @moduledoc """ + Security patches are only applied when a function is redeployed. + + ## Attributes + + * `runtimeVersion` (*type:* `String.t`, *default:* `nil`) - Output only. contains the runtime version which was used during latest function deployment. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :runtimeVersion => String.t() | nil + } + + field(:runtimeVersion) +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy do + def decode(value, options) do + GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V1.Model.OnDeployUpdatePolicy do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/operation.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/operation.ex index 99ba644269..753d3d5bfa 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/operation.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/operation.ex @@ -25,7 +25,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.Operation do * `error` (*type:* `GoogleApi.CloudFunctions.V1.Model.Status.t`, *default:* `nil`) - The error result of the operation in case of failure or cancellation. * `metadata` (*type:* `map()`, *default:* `nil`) - Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. * `name` (*type:* `String.t`, *default:* `nil`) - The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. - * `response` (*type:* `map()`, *default:* `nil`) - The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + * `response` (*type:* `map()`, *default:* `nil`) - The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. """ use GoogleApi.Gax.ModelBase diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/policy.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/policy.ex index c6665d507e..f5f3969945 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/policy.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/policy.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.Policy do @moduledoc """ - An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). ## Attributes diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/secret_version.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/secret_version.ex index 43cd498a7c..c89437083a 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/secret_version.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v1/model/secret_version.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.CloudFunctions.V1.Model.SecretVersion do ## Attributes * `path` (*type:* `String.t`, *default:* `nil`) - Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mount_path as '/etc/secrets' and path as `/secret_foo` would mount the secret value file at `/etc/secrets/secret_foo`. - * `version` (*type:* `String.t`, *default:* `nil`) - Version of the secret (version number or the string 'latest'). It is preferrable to use `latest` version with secret volumes as secret value changes are reflected immediately. + * `version` (*type:* `String.t`, *default:* `nil`) - Version of the secret (version number or the string 'latest'). It is preferable to use `latest` version with secret volumes as secret value changes are reflected immediately. """ use GoogleApi.Gax.ModelBase diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/api/projects.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/api/projects.ex index 772367a4cf..3e93ab1c37 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/api/projects.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/api/projects.ex @@ -103,6 +103,172 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do ) end + @doc """ + Aborts generation upgrade process for a function with the given name from the specified project. Deletes all 2nd Gen copy related configuration and resources which were created during the upgrade process. + + ## Parameters + + * `connection` (*type:* `GoogleApi.CloudFunctions.V2.Connection.t`) - Connection to server + * `projects_id` (*type:* `String.t`) - Part of `name`. Required. The name of the function for which upgrade should be aborted. + * `locations_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `functions_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.CloudFunctions.V2.Model.AbortFunctionUpgradeRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.CloudFunctions.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec cloudfunctions_projects_locations_functions_abort_function_upgrade( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.CloudFunctions.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def cloudfunctions_projects_locations_functions_abort_function_upgrade( + connection, + projects_id, + locations_id, + functions_id, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:abortFunctionUpgrade", + %{ + "projectsId" => URI.encode(projects_id, &URI.char_unreserved?/1), + "locationsId" => URI.encode(locations_id, &URI.char_unreserved?/1), + "functionsId" => URI.encode(functions_id, &URI.char_unreserved?/1) + } + ) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.CloudFunctions.V2.Model.Operation{}]) + end + + @doc """ + Finalizes the upgrade after which function upgrade can not be rolled back. This is the last step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Deletes all original 1st Gen related configuration and resources. + + ## Parameters + + * `connection` (*type:* `GoogleApi.CloudFunctions.V2.Connection.t`) - Connection to server + * `projects_id` (*type:* `String.t`) - Part of `name`. Required. The name of the function for which upgrade should be finalized. + * `locations_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `functions_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.CloudFunctions.V2.Model.CommitFunctionUpgradeRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.CloudFunctions.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec cloudfunctions_projects_locations_functions_commit_function_upgrade( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.CloudFunctions.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def cloudfunctions_projects_locations_functions_commit_function_upgrade( + connection, + projects_id, + locations_id, + functions_id, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:commitFunctionUpgrade", + %{ + "projectsId" => URI.encode(projects_id, &URI.char_unreserved?/1), + "locationsId" => URI.encode(locations_id, &URI.char_unreserved?/1), + "functionsId" => URI.encode(functions_id, &URI.char_unreserved?/1) + } + ) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.CloudFunctions.V2.Model.Operation{}]) + end + @doc """ Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error. @@ -348,7 +514,7 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do end @doc """ - Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN` + Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, specify this header: * `content-type: application/zip` Do not specify this header: * `Authorization: Bearer YOUR_TOKEN` ## Parameters @@ -449,6 +615,7 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:revision` (*type:* `String.t`) - Optional. The optional version of the 1st gen function whose details should be obtained. The version of a 1st gen function is an integer that starts from 1 and gets incremented on redeployments. GCF may keep historical configs for old versions of 1st gen function. This field can be specified to fetch the historical configs. This field is valid only for GCF 1st gen function. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -487,7 +654,8 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do :prettyPrint => :query, :quotaUser => :query, :uploadType => :query, - :upload_protocol => :query + :upload_protocol => :query, + :revision => :query } request = @@ -614,7 +782,7 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). * `:filter` (*type:* `String.t`) - The filter for Functions that match the filter expression, following the syntax outlined in https://google.aip.dev/160. * `:orderBy` (*type:* `String.t`) - The sorting order of the resources returned. Value should be a comma separated list of fields. The default sorting oder is ascending. See https://google.aip.dev/132#ordering. - * `:pageSize` (*type:* `integer()`) - Maximum number of functions to return per call. + * `:pageSize` (*type:* `integer()`) - Maximum number of functions to return per call. The largest allowed page_size is 1,000, if the page_size is omitted or specified as greater than 1,000 then it will be replaced as 1,000. The size of the list response can be less than specified when used with filters. * `:pageToken` (*type:* `String.t`) - The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data. * `opts` (*type:* `keyword()`) - Call options @@ -761,6 +929,172 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do |> Response.decode(opts ++ [struct: %GoogleApi.CloudFunctions.V2.Model.Operation{}]) end + @doc """ + Changes the traffic target of a function from the original 1st Gen function to the 2nd Gen copy. This is the second step of the multi step process to upgrade 1st Gen functions to 2nd Gen. After this operation, all new traffic will be served by 2nd Gen copy. + + ## Parameters + + * `connection` (*type:* `GoogleApi.CloudFunctions.V2.Connection.t`) - Connection to server + * `projects_id` (*type:* `String.t`) - Part of `name`. Required. The name of the function for which traffic target should be changed to 2nd Gen from 1st Gen. + * `locations_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `functions_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.CloudFunctions.V2.Model.RedirectFunctionUpgradeTrafficRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.CloudFunctions.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec cloudfunctions_projects_locations_functions_redirect_function_upgrade_traffic( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.CloudFunctions.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def cloudfunctions_projects_locations_functions_redirect_function_upgrade_traffic( + connection, + projects_id, + locations_id, + functions_id, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:redirectFunctionUpgradeTraffic", + %{ + "projectsId" => URI.encode(projects_id, &URI.char_unreserved?/1), + "locationsId" => URI.encode(locations_id, &URI.char_unreserved?/1), + "functionsId" => URI.encode(functions_id, &URI.char_unreserved?/1) + } + ) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.CloudFunctions.V2.Model.Operation{}]) + end + + @doc """ + Reverts the traffic target of a function from the 2nd Gen copy to the original 1st Gen function. After this operation, all new traffic would be served by the 1st Gen. + + ## Parameters + + * `connection` (*type:* `GoogleApi.CloudFunctions.V2.Connection.t`) - Connection to server + * `projects_id` (*type:* `String.t`) - Part of `name`. Required. The name of the function for which traffic target should be changed back to 1st Gen from 2nd Gen. + * `locations_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `functions_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.CloudFunctions.V2.Model.RollbackFunctionUpgradeTrafficRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.CloudFunctions.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec cloudfunctions_projects_locations_functions_rollback_function_upgrade_traffic( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.CloudFunctions.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def cloudfunctions_projects_locations_functions_rollback_function_upgrade_traffic( + connection, + projects_id, + locations_id, + functions_id, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:rollbackFunctionUpgradeTraffic", + %{ + "projectsId" => URI.encode(projects_id, &URI.char_unreserved?/1), + "locationsId" => URI.encode(locations_id, &URI.char_unreserved?/1), + "functionsId" => URI.encode(functions_id, &URI.char_unreserved?/1) + } + ) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.CloudFunctions.V2.Model.Operation{}]) + end + @doc """ Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. @@ -844,6 +1178,89 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do |> Response.decode(opts ++ [struct: %GoogleApi.CloudFunctions.V2.Model.Policy{}]) end + @doc """ + Creates a 2nd Gen copy of the function configuration based on the 1st Gen function with the given name. This is the first step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Only 2nd Gen configuration is setup as part of this request and traffic continues to be served by 1st Gen. + + ## Parameters + + * `connection` (*type:* `GoogleApi.CloudFunctions.V2.Connection.t`) - Connection to server + * `projects_id` (*type:* `String.t`) - Part of `name`. Required. The name of the function which should have configuration copied for upgrade. + * `locations_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `functions_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.CloudFunctions.V2.Model.SetupFunctionUpgradeConfigRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.CloudFunctions.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec cloudfunctions_projects_locations_functions_setup_function_upgrade_config( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.CloudFunctions.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def cloudfunctions_projects_locations_functions_setup_function_upgrade_config( + connection, + projects_id, + locations_id, + functions_id, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setupFunctionUpgradeConfig", + %{ + "projectsId" => URI.encode(projects_id, &URI.char_unreserved?/1), + "locationsId" => URI.encode(locations_id, &URI.char_unreserved?/1), + "functionsId" => URI.encode(functions_id, &URI.char_unreserved?/1) + } + ) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.CloudFunctions.V2.Model.Operation{}]) + end + @doc """ Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. @@ -1011,12 +1428,12 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do end @doc """ - Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id. + Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. ## Parameters * `connection` (*type:* `GoogleApi.CloudFunctions.V2.Connection.t`) - Connection to server - * `projects_id` (*type:* `String.t`) - Part of `name`. Must not be set. + * `projects_id` (*type:* `String.t`) - Part of `name`. The name of the operation's parent resource. * `locations_id` (*type:* `String.t`) - Part of `name`. See documentation of `projectsId`. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. @@ -1030,9 +1447,9 @@ defmodule GoogleApi.CloudFunctions.V2.Api.Projects do * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:filter` (*type:* `String.t`) - Required. A filter for matching the requested operations. The supported formats of *filter* are: To query for a specific function: project:*,location:*,function:* To query for all of the latest operations for a project: project:*,latest:true - * `:pageSize` (*type:* `integer()`) - The maximum number of records that should be returned. Requested page size cannot exceed 100. If not set, the default page size is 100. Pagination is only supported when querying for a specific function. - * `:pageToken` (*type:* `String.t`) - Token identifying which result to start with, which is returned by a previous list call. Pagination is only supported when querying for a specific function. + * `:filter` (*type:* `String.t`) - The standard list filter. + * `:pageSize` (*type:* `integer()`) - The standard list page size. + * `:pageToken` (*type:* `String.t`) - The standard list page token. * `opts` (*type:* `keyword()`) - Call options ## Returns diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/metadata.ex index 3b9d008e65..ff5998a4c8 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/metadata.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.CloudFunctions.V2 do API client metadata for GoogleApi.CloudFunctions.V2. """ - @discovery_revision "20221027" + @discovery_revision "20240229" def discovery_revision(), do: @discovery_revision end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/abort_function_upgrade_request.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/abort_function_upgrade_request.ex new file mode 100644 index 0000000000..18976a36cc --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/abort_function_upgrade_request.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.AbortFunctionUpgradeRequest do + @moduledoc """ + Request for the `AbortFunctionUpgrade` method. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.AbortFunctionUpgradeRequest do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.AbortFunctionUpgradeRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V2.Model.AbortFunctionUpgradeRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/automatic_update_policy.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/automatic_update_policy.ex new file mode 100644 index 0000000000..2f31ada1c8 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/automatic_update_policy.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.AutomaticUpdatePolicy do + @moduledoc """ + Security patches are applied automatically to the runtime without requiring the function to be redeployed. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.AutomaticUpdatePolicy do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.AutomaticUpdatePolicy.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V2.Model.AutomaticUpdatePolicy do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/binding.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/binding.ex index 35c6567a59..f080f89b7e 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/binding.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/binding.ex @@ -22,8 +22,8 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Binding do ## Attributes * `condition` (*type:* `GoogleApi.CloudFunctions.V2.Model.Expr.t`, *default:* `nil`) - The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. - * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). """ use GoogleApi.Gax.ModelBase diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/build_config.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/build_config.ex index 417acb241c..2ff3686807 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/build_config.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/build_config.ex @@ -21,42 +21,53 @@ defmodule GoogleApi.CloudFunctions.V2.Model.BuildConfig do ## Attributes + * `automaticUpdatePolicy` (*type:* `GoogleApi.CloudFunctions.V2.Model.AutomaticUpdatePolicy.t`, *default:* `nil`) - * `build` (*type:* `String.t`, *default:* `nil`) - Output only. The Cloud Build name of the latest successful deployment of the function. - * `buildpackStack` (*type:* `String.t`, *default:* `nil`) - Specifies one of the Google provided buildpack stacks. - * `dockerRegistry` (*type:* `String.t`, *default:* `nil`) - Optional. Docker Registry to use for this deployment. This configuration is only applicable to 1st Gen functions, 2nd Gen functions can only use Artifact Registry. If `docker_repository` field is specified, this field will be automatically set as `ARTIFACT_REGISTRY`. If unspecified, it currently defaults to `CONTAINER_REGISTRY`. This field may be overridden by the backend for eligible deployments. - * `dockerRepository` (*type:* `String.t`, *default:* `nil`) - User managed repository created in Artifact Registry optionally with a customer managed encryption key. This is the repository to which the function docker image will be pushed after it is built by Cloud Build. If unspecified, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. + * `dockerRegistry` (*type:* `String.t`, *default:* `nil`) - Docker Registry to use for this deployment. This configuration is only applicable to 1st Gen functions, 2nd Gen functions can only use Artifact Registry. If `docker_repository` field is specified, this field will be automatically set as `ARTIFACT_REGISTRY`. If unspecified, it currently defaults to `CONTAINER_REGISTRY`. This field may be overridden by the backend for eligible deployments. + * `dockerRepository` (*type:* `String.t`, *default:* `nil`) - Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. * `entryPoint` (*type:* `String.t`, *default:* `nil`) - The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in `source_location`. * `environmentVariables` (*type:* `map()`, *default:* `nil`) - User-provided build-time environment variables for the function + * `onDeployUpdatePolicy` (*type:* `GoogleApi.CloudFunctions.V2.Model.OnDeployUpdatePolicy.t`, *default:* `nil`) - * `runtime` (*type:* `String.t`, *default:* `nil`) - The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the [`gcloud` command reference](https://cloud.google.com/sdk/gcloud/reference/functions/deploy#--runtime). + * `serviceAccount` (*type:* `String.t`, *default:* `nil`) - [Preview] Service account to be used for building the container * `source` (*type:* `GoogleApi.CloudFunctions.V2.Model.Source.t`, *default:* `nil`) - The location of the function source code. * `sourceProvenance` (*type:* `GoogleApi.CloudFunctions.V2.Model.SourceProvenance.t`, *default:* `nil`) - Output only. A permanent fixed identifier for source. + * `sourceToken` (*type:* `String.t`, *default:* `nil`) - An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. * `workerPool` (*type:* `String.t`, *default:* `nil`) - Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :automaticUpdatePolicy => + GoogleApi.CloudFunctions.V2.Model.AutomaticUpdatePolicy.t() | nil, :build => String.t() | nil, - :buildpackStack => String.t() | nil, :dockerRegistry => String.t() | nil, :dockerRepository => String.t() | nil, :entryPoint => String.t() | nil, :environmentVariables => map() | nil, + :onDeployUpdatePolicy => + GoogleApi.CloudFunctions.V2.Model.OnDeployUpdatePolicy.t() | nil, :runtime => String.t() | nil, + :serviceAccount => String.t() | nil, :source => GoogleApi.CloudFunctions.V2.Model.Source.t() | nil, :sourceProvenance => GoogleApi.CloudFunctions.V2.Model.SourceProvenance.t() | nil, + :sourceToken => String.t() | nil, :workerPool => String.t() | nil } + field(:automaticUpdatePolicy, as: GoogleApi.CloudFunctions.V2.Model.AutomaticUpdatePolicy) field(:build) - field(:buildpackStack) field(:dockerRegistry) field(:dockerRepository) field(:entryPoint) field(:environmentVariables, type: :map) + field(:onDeployUpdatePolicy, as: GoogleApi.CloudFunctions.V2.Model.OnDeployUpdatePolicy) field(:runtime) + field(:serviceAccount) field(:source, as: GoogleApi.CloudFunctions.V2.Model.Source) field(:sourceProvenance, as: GoogleApi.CloudFunctions.V2.Model.SourceProvenance) + field(:sourceToken) field(:workerPool) end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/commit_function_upgrade_request.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/commit_function_upgrade_request.ex new file mode 100644 index 0000000000..d4d626869e --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/commit_function_upgrade_request.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.CommitFunctionUpgradeRequest do + @moduledoc """ + Request for the `CommitFunctionUpgrade` method. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.CommitFunctionUpgradeRequest do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.CommitFunctionUpgradeRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V2.Model.CommitFunctionUpgradeRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/date.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/date.ex new file mode 100644 index 0000000000..ba5df5661e --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/date.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.Date do + @moduledoc """ + Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + + ## Attributes + + * `day` (*type:* `integer()`, *default:* `nil`) - Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + * `month` (*type:* `integer()`, *default:* `nil`) - Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + * `year` (*type:* `integer()`, *default:* `nil`) - Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :day => integer() | nil, + :month => integer() | nil, + :year => integer() | nil + } + + field(:day) + field(:month) + field(:year) +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.Date do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.Date.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V2.Model.Date do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/event_trigger.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/event_trigger.ex index a912e07bc0..105ea1b614 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/event_trigger.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/event_trigger.ex @@ -26,6 +26,7 @@ defmodule GoogleApi.CloudFunctions.V2.Model.EventTrigger do * `eventType` (*type:* `String.t`, *default:* `nil`) - Required. The type of event to observe. For example: `google.cloud.audit.log.v1.written` or `google.cloud.pubsub.topic.v1.messagePublished`. * `pubsubTopic` (*type:* `String.t`, *default:* `nil`) - Optional. The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery. Format: `projects/{project}/topics/{topic}`. This is only valid for events of type `google.cloud.pubsub.topic.v1.messagePublished`. The topic provided here will not be deleted at function deletion. * `retryPolicy` (*type:* `String.t`, *default:* `nil`) - Optional. If unset, then defaults to ignoring failures (i.e. not retrying them). + * `service` (*type:* `String.t`, *default:* `nil`) - Optional. The hostname of the service that 1st Gen function should be observed. If no string is provided, the default service implementing the API will be used. For example, `storage.googleapis.com` is the default for all event types in the `google.storage` namespace. The field is only applicable to 1st Gen functions. * `serviceAccountEmail` (*type:* `String.t`, *default:* `nil`) - Optional. The email of the trigger's service account. The service account must have permission to invoke Cloud Run services, the permission is `run.routes.invoke`. If empty, defaults to the Compute Engine default service account: `{project_number}-compute@developer.gserviceaccount.com`. * `trigger` (*type:* `String.t`, *default:* `nil`) - Output only. The resource name of the Eventarc trigger. The format of this field is `projects/{project}/locations/{region}/triggers/{trigger}`. * `triggerRegion` (*type:* `String.t`, *default:* `nil`) - The region that the trigger will be in. The trigger will only receive events originating in this region. It can be the same region as the function, a different region or multi-region, or the global region. If not provided, defaults to the same region as the function. @@ -39,6 +40,7 @@ defmodule GoogleApi.CloudFunctions.V2.Model.EventTrigger do :eventType => String.t() | nil, :pubsubTopic => String.t() | nil, :retryPolicy => String.t() | nil, + :service => String.t() | nil, :serviceAccountEmail => String.t() | nil, :trigger => String.t() | nil, :triggerRegion => String.t() | nil @@ -49,6 +51,7 @@ defmodule GoogleApi.CloudFunctions.V2.Model.EventTrigger do field(:eventType) field(:pubsubTopic) field(:retryPolicy) + field(:service) field(:serviceAccountEmail) field(:trigger) field(:triggerRegion) diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/function.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/function.ex index 007db93e7d..e07921bff8 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/function.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/function.ex @@ -22,39 +22,52 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Function do ## Attributes * `buildConfig` (*type:* `GoogleApi.CloudFunctions.V2.Model.BuildConfig.t`, *default:* `nil`) - Describes the Build step of the function that builds a container from the given source. + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. * `description` (*type:* `String.t`, *default:* `nil`) - User-provided description of a function. - * `environment` (*type:* `String.t`, *default:* `nil`) - Describe whether the function is gen1 or gen2. + * `environment` (*type:* `String.t`, *default:* `nil`) - Describe whether the function is 1st Gen or 2nd Gen. * `eventTrigger` (*type:* `GoogleApi.CloudFunctions.V2.Model.EventTrigger.t`, *default:* `nil`) - An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service. + * `kmsKeyName` (*type:* `String.t`, *default:* `nil`) - [Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. * `labels` (*type:* `map()`, *default:* `nil`) - Labels associated with this Cloud Function. * `name` (*type:* `String.t`, *default:* `nil`) - A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*` + * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - Output only. Reserved for future use. * `serviceConfig` (*type:* `GoogleApi.CloudFunctions.V2.Model.ServiceConfig.t`, *default:* `nil`) - Describes the Service being deployed. Currently deploys services to Cloud Run (fully managed). * `state` (*type:* `String.t`, *default:* `nil`) - Output only. State of the function. * `stateMessages` (*type:* `list(GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2StateMessage.t)`, *default:* `nil`) - Output only. State Messages for this Cloud Function. * `updateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The last update timestamp of a Cloud Function. + * `upgradeInfo` (*type:* `GoogleApi.CloudFunctions.V2.Model.UpgradeInfo.t`, *default:* `nil`) - Output only. UpgradeInfo for this Cloud Function + * `url` (*type:* `String.t`, *default:* `nil`) - Output only. The deployed url for the function. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :buildConfig => GoogleApi.CloudFunctions.V2.Model.BuildConfig.t() | nil, + :createTime => DateTime.t() | nil, :description => String.t() | nil, :environment => String.t() | nil, :eventTrigger => GoogleApi.CloudFunctions.V2.Model.EventTrigger.t() | nil, + :kmsKeyName => String.t() | nil, :labels => map() | nil, :name => String.t() | nil, + :satisfiesPzs => boolean() | nil, :serviceConfig => GoogleApi.CloudFunctions.V2.Model.ServiceConfig.t() | nil, :state => String.t() | nil, :stateMessages => list(GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2StateMessage.t()) | nil, - :updateTime => DateTime.t() | nil + :updateTime => DateTime.t() | nil, + :upgradeInfo => GoogleApi.CloudFunctions.V2.Model.UpgradeInfo.t() | nil, + :url => String.t() | nil } field(:buildConfig, as: GoogleApi.CloudFunctions.V2.Model.BuildConfig) + field(:createTime, as: DateTime) field(:description) field(:environment) field(:eventTrigger, as: GoogleApi.CloudFunctions.V2.Model.EventTrigger) + field(:kmsKeyName) field(:labels, type: :map) field(:name) + field(:satisfiesPzs) field(:serviceConfig, as: GoogleApi.CloudFunctions.V2.Model.ServiceConfig) field(:state) @@ -64,6 +77,8 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Function do ) field(:updateTime, as: DateTime) + field(:upgradeInfo, as: GoogleApi.CloudFunctions.V2.Model.UpgradeInfo) + field(:url) end defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.Function do diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/generate_upload_url_request.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/generate_upload_url_request.ex index b3ffe3ee65..643f49de1e 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/generate_upload_url_request.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/generate_upload_url_request.ex @@ -21,11 +21,19 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GenerateUploadUrlRequest do ## Attributes + * `environment` (*type:* `String.t`, *default:* `nil`) - The function environment the generated upload url will be used for. The upload url for 2nd Gen functions can also be used for 1st gen functions, but not vice versa. If not specified, 2nd generation-style upload URLs are generated. + * `kmsKeyName` (*type:* `String.t`, *default:* `nil`) - [Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred). """ use GoogleApi.Gax.ModelBase - @type t :: %__MODULE__{} + @type t :: %__MODULE__{ + :environment => String.t() | nil, + :kmsKeyName => String.t() | nil + } + + field(:environment) + field(:kmsKeyName) end defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.GenerateUploadUrlRequest do diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2_location_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2_location_metadata.ex new file mode 100644 index 0000000000..e07309320e --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2_location_metadata.ex @@ -0,0 +1,51 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2LocationMetadata do + @moduledoc """ + Extra GCF specific location information. + + ## Attributes + + * `environments` (*type:* `list(String.t)`, *default:* `nil`) - The Cloud Function environments this location supports. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :environments => list(String.t()) | nil + } + + field(:environments, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2LocationMetadata do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2LocationMetadata.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2LocationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2_operation_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2_operation_metadata.ex index 898e152b63..d169232e79 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2_operation_metadata.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2_operation_metadata.ex @@ -22,10 +22,12 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2OperationMetad ## Attributes * `apiVersion` (*type:* `String.t`, *default:* `nil`) - API version used to start the operation. - * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation was created. * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation finished running. + * `operationType` (*type:* `String.t`, *default:* `nil`) - The operation type. * `requestResource` (*type:* `map()`, *default:* `nil`) - The original request that started the operation. + * `sourceToken` (*type:* `String.t`, *default:* `nil`) - An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. * `stages` (*type:* `list(GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2Stage.t)`, *default:* `nil`) - Mechanism for reporting in-progress stages * `statusDetail` (*type:* `String.t`, *default:* `nil`) - Human-readable status of the operation, if any. * `target` (*type:* `String.t`, *default:* `nil`) - Server-defined resource path for the target of the operation. @@ -39,7 +41,9 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2OperationMetad :cancelRequested => boolean() | nil, :createTime => DateTime.t() | nil, :endTime => DateTime.t() | nil, + :operationType => String.t() | nil, :requestResource => map() | nil, + :sourceToken => String.t() | nil, :stages => list(GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2Stage.t()) | nil, :statusDetail => String.t() | nil, @@ -51,7 +55,9 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2OperationMetad field(:cancelRequested) field(:createTime, as: DateTime) field(:endTime, as: DateTime) + field(:operationType) field(:requestResource, type: :map) + field(:sourceToken) field(:stages, as: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2Stage, type: :list) field(:statusDetail) field(:target) diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2alpha_location_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2alpha_location_metadata.ex new file mode 100644 index 0000000000..112a915093 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2alpha_location_metadata.ex @@ -0,0 +1,51 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaLocationMetadata do + @moduledoc """ + Extra GCF specific location information. + + ## Attributes + + * `environments` (*type:* `list(String.t)`, *default:* `nil`) - The Cloud Function environments this location supports. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :environments => list(String.t()) | nil + } + + field(:environments, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaLocationMetadata do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaLocationMetadata.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaLocationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2alpha_operation_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2alpha_operation_metadata.ex index deff33e824..176c18e52f 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2alpha_operation_metadata.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2alpha_operation_metadata.ex @@ -22,10 +22,12 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaOperation ## Attributes * `apiVersion` (*type:* `String.t`, *default:* `nil`) - API version used to start the operation. - * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation was created. * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation finished running. + * `operationType` (*type:* `String.t`, *default:* `nil`) - The operation type. * `requestResource` (*type:* `map()`, *default:* `nil`) - The original request that started the operation. + * `sourceToken` (*type:* `String.t`, *default:* `nil`) - An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. * `stages` (*type:* `list(GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaStage.t)`, *default:* `nil`) - Mechanism for reporting in-progress stages * `statusDetail` (*type:* `String.t`, *default:* `nil`) - Human-readable status of the operation, if any. * `target` (*type:* `String.t`, *default:* `nil`) - Server-defined resource path for the target of the operation. @@ -39,7 +41,9 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaOperation :cancelRequested => boolean() | nil, :createTime => DateTime.t() | nil, :endTime => DateTime.t() | nil, + :operationType => String.t() | nil, :requestResource => map() | nil, + :sourceToken => String.t() | nil, :stages => list(GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaStage.t()) | nil, :statusDetail => String.t() | nil, @@ -51,7 +55,9 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaOperation field(:cancelRequested) field(:createTime, as: DateTime) field(:endTime, as: DateTime) + field(:operationType) field(:requestResource, type: :map) + field(:sourceToken) field(:stages, as: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2alphaStage, diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2beta_location_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2beta_location_metadata.ex new file mode 100644 index 0000000000..c6509a10a7 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2beta_location_metadata.ex @@ -0,0 +1,51 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaLocationMetadata do + @moduledoc """ + Extra GCF specific location information. + + ## Attributes + + * `environments` (*type:* `list(String.t)`, *default:* `nil`) - The Cloud Function environments this location supports. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :environments => list(String.t()) | nil + } + + field(:environments, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaLocationMetadata do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaLocationMetadata.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaLocationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2beta_operation_metadata.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2beta_operation_metadata.ex index b312035bc8..df04245552 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2beta_operation_metadata.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/google_cloud_functions_v2beta_operation_metadata.ex @@ -22,10 +22,12 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaOperationM ## Attributes * `apiVersion` (*type:* `String.t`, *default:* `nil`) - API version used to start the operation. - * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation was created. * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - The time the operation finished running. + * `operationType` (*type:* `String.t`, *default:* `nil`) - The operation type. * `requestResource` (*type:* `map()`, *default:* `nil`) - The original request that started the operation. + * `sourceToken` (*type:* `String.t`, *default:* `nil`) - An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. * `stages` (*type:* `list(GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaStage.t)`, *default:* `nil`) - Mechanism for reporting in-progress stages * `statusDetail` (*type:* `String.t`, *default:* `nil`) - Human-readable status of the operation, if any. * `target` (*type:* `String.t`, *default:* `nil`) - Server-defined resource path for the target of the operation. @@ -39,7 +41,9 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaOperationM :cancelRequested => boolean() | nil, :createTime => DateTime.t() | nil, :endTime => DateTime.t() | nil, + :operationType => String.t() | nil, :requestResource => map() | nil, + :sourceToken => String.t() | nil, :stages => list(GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaStage.t()) | nil, :statusDetail => String.t() | nil, @@ -51,7 +55,9 @@ defmodule GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaOperationM field(:cancelRequested) field(:createTime, as: DateTime) field(:endTime, as: DateTime) + field(:operationType) field(:requestResource, type: :map) + field(:sourceToken) field(:stages, as: GoogleApi.CloudFunctions.V2.Model.GoogleCloudFunctionsV2betaStage, diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/location.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/location.ex index a27810ddef..4f4cbf819c 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/location.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/location.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Location do @moduledoc """ - A resource that represents Google Cloud Platform location. + A resource that represents a Google Cloud location. ## Attributes diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/on_deploy_update_policy.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/on_deploy_update_policy.ex new file mode 100644 index 0000000000..b4bdd58ad7 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/on_deploy_update_policy.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.OnDeployUpdatePolicy do + @moduledoc """ + Security patches are only applied when a function is redeployed. + + ## Attributes + + * `runtimeVersion` (*type:* `String.t`, *default:* `nil`) - Output only. contains the runtime version which was used during latest function deployment. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :runtimeVersion => String.t() | nil + } + + field(:runtimeVersion) +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.OnDeployUpdatePolicy do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.OnDeployUpdatePolicy.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V2.Model.OnDeployUpdatePolicy do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/operation.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/operation.ex index cc94ce274f..994f705de8 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/operation.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/operation.ex @@ -25,7 +25,7 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Operation do * `error` (*type:* `GoogleApi.CloudFunctions.V2.Model.Status.t`, *default:* `nil`) - The error result of the operation in case of failure or cancellation. * `metadata` (*type:* `map()`, *default:* `nil`) - Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. * `name` (*type:* `String.t`, *default:* `nil`) - The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. - * `response` (*type:* `map()`, *default:* `nil`) - The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + * `response` (*type:* `map()`, *default:* `nil`) - The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. """ use GoogleApi.Gax.ModelBase diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/policy.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/policy.ex index 0672aeab62..63bb3397f9 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/policy.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/policy.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Policy do @moduledoc """ - An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). ## Attributes diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/redirect_function_upgrade_traffic_request.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/redirect_function_upgrade_traffic_request.ex new file mode 100644 index 0000000000..f11233851d --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/redirect_function_upgrade_traffic_request.ex @@ -0,0 +1,43 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.RedirectFunctionUpgradeTrafficRequest do + @moduledoc """ + Request for the `RedirectFunctionUpgradeTraffic` method. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, + for: GoogleApi.CloudFunctions.V2.Model.RedirectFunctionUpgradeTrafficRequest do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.RedirectFunctionUpgradeTrafficRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.CloudFunctions.V2.Model.RedirectFunctionUpgradeTrafficRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/repo_source.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/repo_source.ex index 42254b7c4b..89c8d5f6d2 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/repo_source.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/repo_source.ex @@ -24,7 +24,6 @@ defmodule GoogleApi.CloudFunctions.V2.Model.RepoSource do * `branchName` (*type:* `String.t`, *default:* `nil`) - Regex matching branches to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax * `commitSha` (*type:* `String.t`, *default:* `nil`) - Explicit commit SHA to build. * `dir` (*type:* `String.t`, *default:* `nil`) - Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution. eg. helloworld (no leading slash allowed) - * `invertRegex` (*type:* `boolean()`, *default:* `nil`) - Only trigger a build if the revision regex does NOT match the revision regex. * `projectId` (*type:* `String.t`, *default:* `nil`) - ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed. * `repoName` (*type:* `String.t`, *default:* `nil`) - Name of the Cloud Source Repository. * `tagName` (*type:* `String.t`, *default:* `nil`) - Regex matching tags to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax @@ -36,7 +35,6 @@ defmodule GoogleApi.CloudFunctions.V2.Model.RepoSource do :branchName => String.t() | nil, :commitSha => String.t() | nil, :dir => String.t() | nil, - :invertRegex => boolean() | nil, :projectId => String.t() | nil, :repoName => String.t() | nil, :tagName => String.t() | nil @@ -45,7 +43,6 @@ defmodule GoogleApi.CloudFunctions.V2.Model.RepoSource do field(:branchName) field(:commitSha) field(:dir) - field(:invertRegex) field(:projectId) field(:repoName) field(:tagName) diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/rollback_function_upgrade_traffic_request.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/rollback_function_upgrade_traffic_request.ex new file mode 100644 index 0000000000..6d8a5e2ce9 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/rollback_function_upgrade_traffic_request.ex @@ -0,0 +1,43 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.RollbackFunctionUpgradeTrafficRequest do + @moduledoc """ + Request for the `RollbackFunctionUpgradeTraffic` method. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, + for: GoogleApi.CloudFunctions.V2.Model.RollbackFunctionUpgradeTrafficRequest do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.RollbackFunctionUpgradeTrafficRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.CloudFunctions.V2.Model.RollbackFunctionUpgradeTrafficRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/runtime.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/runtime.ex index c765407d84..c22c7d0a58 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/runtime.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/runtime.ex @@ -21,6 +21,8 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Runtime do ## Attributes + * `decommissionDate` (*type:* `GoogleApi.CloudFunctions.V2.Model.Date.t`, *default:* `nil`) - Decommission date for the runtime. + * `deprecationDate` (*type:* `GoogleApi.CloudFunctions.V2.Model.Date.t`, *default:* `nil`) - Deprecation date for the runtime. * `displayName` (*type:* `String.t`, *default:* `nil`) - The user facing name, eg 'Go 1.13', 'Node.js 12', etc. * `environment` (*type:* `String.t`, *default:* `nil`) - The environment for the runtime. * `name` (*type:* `String.t`, *default:* `nil`) - The name of the runtime, e.g., 'go113', 'nodejs12', etc. @@ -31,6 +33,8 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Runtime do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :decommissionDate => GoogleApi.CloudFunctions.V2.Model.Date.t() | nil, + :deprecationDate => GoogleApi.CloudFunctions.V2.Model.Date.t() | nil, :displayName => String.t() | nil, :environment => String.t() | nil, :name => String.t() | nil, @@ -38,6 +42,8 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Runtime do :warnings => list(String.t()) | nil } + field(:decommissionDate, as: GoogleApi.CloudFunctions.V2.Model.Date) + field(:deprecationDate, as: GoogleApi.CloudFunctions.V2.Model.Date) field(:displayName) field(:environment) field(:name) diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/service_config.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/service_config.ex index b47d5fcbb4..684e6c5916 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/service_config.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/service_config.ex @@ -17,20 +17,22 @@ defmodule GoogleApi.CloudFunctions.V2.Model.ServiceConfig do @moduledoc """ - Describes the Service being deployed. Currently Supported : Cloud Run (fully managed). Next tag: 23 + Describes the Service being deployed. Currently Supported : Cloud Run (fully managed). ## Attributes * `allTrafficOnLatestRevision` (*type:* `boolean()`, *default:* `nil`) - Whether 100% of traffic is routed to the latest revision. On CreateFunction and UpdateFunction, when set to true, the revision being deployed will serve 100% of traffic, ignoring any traffic split settings, if any. On GetFunction, true will be returned if the latest revision is serving 100% of traffic. + * `availableCpu` (*type:* `String.t`, *default:* `nil`) - The number of CPUs used in a single container instance. Default value is calculated from available memory. Supports the same values as Cloud Run, see https://cloud.google.com/run/docs/reference/rest/v1/Container#resourcerequirements Example: "1" indicates 1 vCPU * `availableMemory` (*type:* `String.t`, *default:* `nil`) - The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes. See https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go a full description. * `environmentVariables` (*type:* `map()`, *default:* `nil`) - Environment variables that shall be available during function execution. * `ingressSettings` (*type:* `String.t`, *default:* `nil`) - The ingress settings for the function, controlling what traffic can reach it. * `maxInstanceCount` (*type:* `integer()`, *default:* `nil`) - The limit on the maximum number of function instances that may coexist at a given time. In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate. See the [Max Instances](https://cloud.google.com/functions/docs/max-instances) Guide for more details. + * `maxInstanceRequestConcurrency` (*type:* `integer()`, *default:* `nil`) - Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1. * `minInstanceCount` (*type:* `integer()`, *default:* `nil`) - The limit on the minimum number of function instances that may coexist at a given time. Function instances are kept in idle state for a short period after they finished executing the request to reduce cold start time for subsequent requests. Setting a minimum instance count will ensure that the given number of instances are kept running in idle state always. This can help with cold start times when jump in incoming request count occurs after the idle instance would have been stopped in the default case. * `revision` (*type:* `String.t`, *default:* `nil`) - Output only. The name of service revision. * `secretEnvironmentVariables` (*type:* `list(GoogleApi.CloudFunctions.V2.Model.SecretEnvVar.t)`, *default:* `nil`) - Secret environment variables configuration. * `secretVolumes` (*type:* `list(GoogleApi.CloudFunctions.V2.Model.SecretVolume.t)`, *default:* `nil`) - Secret volumes configuration. - * `securityLevel` (*type:* `String.t`, *default:* `nil`) - Optional. Security level configure whether the function only accepts https. This configuration is only applicable to 1st Gen functions with Http trigger. By default https is optional for 1st Gen functions; 2nd Gen functions are https ONLY. + * `securityLevel` (*type:* `String.t`, *default:* `nil`) - Security level configure whether the function only accepts https. This configuration is only applicable to 1st Gen functions with Http trigger. By default https is optional for 1st Gen functions; 2nd Gen functions are https ONLY. * `service` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the service associated with a Function. The format of this field is `projects/{project}/locations/{region}/services/{service}` * `serviceAccountEmail` (*type:* `String.t`, *default:* `nil`) - The email of the service's service account. If empty, defaults to `{project_number}-compute@developer.gserviceaccount.com`. * `timeoutSeconds` (*type:* `integer()`, *default:* `nil`) - The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds. @@ -43,10 +45,12 @@ defmodule GoogleApi.CloudFunctions.V2.Model.ServiceConfig do @type t :: %__MODULE__{ :allTrafficOnLatestRevision => boolean() | nil, + :availableCpu => String.t() | nil, :availableMemory => String.t() | nil, :environmentVariables => map() | nil, :ingressSettings => String.t() | nil, :maxInstanceCount => integer() | nil, + :maxInstanceRequestConcurrency => integer() | nil, :minInstanceCount => integer() | nil, :revision => String.t() | nil, :secretEnvironmentVariables => @@ -62,10 +66,12 @@ defmodule GoogleApi.CloudFunctions.V2.Model.ServiceConfig do } field(:allTrafficOnLatestRevision) + field(:availableCpu) field(:availableMemory) field(:environmentVariables, type: :map) field(:ingressSettings) field(:maxInstanceCount) + field(:maxInstanceRequestConcurrency) field(:minInstanceCount) field(:revision) diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/setup_function_upgrade_config_request.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/setup_function_upgrade_config_request.ex new file mode 100644 index 0000000000..97f9f01530 --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/setup_function_upgrade_config_request.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.SetupFunctionUpgradeConfigRequest do + @moduledoc """ + Request for the `SetupFunctionUpgradeConfig` method. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.SetupFunctionUpgradeConfigRequest do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.SetupFunctionUpgradeConfigRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V2.Model.SetupFunctionUpgradeConfigRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/source.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/source.ex index 0b5e5b60a2..e59d15a3d7 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/source.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/source.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Source do ## Attributes + * `gitUri` (*type:* `String.t`, *default:* `nil`) - If provided, get the source from GitHub repository. This option is valid only for GCF 1st Gen function. Example: https://github.com///blob// * `repoSource` (*type:* `GoogleApi.CloudFunctions.V2.Model.RepoSource.t`, *default:* `nil`) - If provided, get the source from this location in a Cloud Source Repository. * `storageSource` (*type:* `GoogleApi.CloudFunctions.V2.Model.StorageSource.t`, *default:* `nil`) - If provided, get the source from this location in Google Cloud Storage. """ @@ -28,10 +29,12 @@ defmodule GoogleApi.CloudFunctions.V2.Model.Source do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :gitUri => String.t() | nil, :repoSource => GoogleApi.CloudFunctions.V2.Model.RepoSource.t() | nil, :storageSource => GoogleApi.CloudFunctions.V2.Model.StorageSource.t() | nil } + field(:gitUri) field(:repoSource, as: GoogleApi.CloudFunctions.V2.Model.RepoSource) field(:storageSource, as: GoogleApi.CloudFunctions.V2.Model.StorageSource) end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/source_provenance.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/source_provenance.ex index 986dc37436..8522d36d2f 100644 --- a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/source_provenance.ex +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/source_provenance.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.CloudFunctions.V2.Model.SourceProvenance do ## Attributes + * `gitUri` (*type:* `String.t`, *default:* `nil`) - A copy of the build's `source.git_uri`, if exists, with any commits resolved. * `resolvedRepoSource` (*type:* `GoogleApi.CloudFunctions.V2.Model.RepoSource.t`, *default:* `nil`) - A copy of the build's `source.repo_source`, if exists, with any revisions resolved. * `resolvedStorageSource` (*type:* `GoogleApi.CloudFunctions.V2.Model.StorageSource.t`, *default:* `nil`) - A copy of the build's `source.storage_source`, if exists, with any generations resolved. """ @@ -28,10 +29,12 @@ defmodule GoogleApi.CloudFunctions.V2.Model.SourceProvenance do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :gitUri => String.t() | nil, :resolvedRepoSource => GoogleApi.CloudFunctions.V2.Model.RepoSource.t() | nil, :resolvedStorageSource => GoogleApi.CloudFunctions.V2.Model.StorageSource.t() | nil } + field(:gitUri) field(:resolvedRepoSource, as: GoogleApi.CloudFunctions.V2.Model.RepoSource) field(:resolvedStorageSource, as: GoogleApi.CloudFunctions.V2.Model.StorageSource) end diff --git a/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/upgrade_info.ex b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/upgrade_info.ex new file mode 100644 index 0000000000..cf89808b8b --- /dev/null +++ b/clients/cloud_functions/lib/google_api/cloud_functions/v2/model/upgrade_info.ex @@ -0,0 +1,55 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.CloudFunctions.V2.Model.UpgradeInfo do + @moduledoc """ + Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration * Current state of migration for function undergoing migration. + + ## Attributes + + * `buildConfig` (*type:* `GoogleApi.CloudFunctions.V2.Model.BuildConfig.t`, *default:* `nil`) - Describes the Build step of the function that builds a container to prepare for 2nd gen upgrade. + * `eventTrigger` (*type:* `GoogleApi.CloudFunctions.V2.Model.EventTrigger.t`, *default:* `nil`) - Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. + * `serviceConfig` (*type:* `GoogleApi.CloudFunctions.V2.Model.ServiceConfig.t`, *default:* `nil`) - Describes the Cloud Run service which has been setup to prepare for 2nd gen upgrade. + * `upgradeState` (*type:* `String.t`, *default:* `nil`) - UpgradeState of the function + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :buildConfig => GoogleApi.CloudFunctions.V2.Model.BuildConfig.t() | nil, + :eventTrigger => GoogleApi.CloudFunctions.V2.Model.EventTrigger.t() | nil, + :serviceConfig => GoogleApi.CloudFunctions.V2.Model.ServiceConfig.t() | nil, + :upgradeState => String.t() | nil + } + + field(:buildConfig, as: GoogleApi.CloudFunctions.V2.Model.BuildConfig) + field(:eventTrigger, as: GoogleApi.CloudFunctions.V2.Model.EventTrigger) + field(:serviceConfig, as: GoogleApi.CloudFunctions.V2.Model.ServiceConfig) + field(:upgradeState) +end + +defimpl Poison.Decoder, for: GoogleApi.CloudFunctions.V2.Model.UpgradeInfo do + def decode(value, options) do + GoogleApi.CloudFunctions.V2.Model.UpgradeInfo.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.CloudFunctions.V2.Model.UpgradeInfo do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end