Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Automated regeneration of Spanner client #10805

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,094 changes: 1,406 additions & 688 deletions clients/spanner/lib/google_api/spanner/v1/api/projects.ex

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion clients/spanner/lib/google_api/spanner/v1/metadata.ex
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule GoogleApi.Spanner.V1 do
API client metadata for GoogleApi.Spanner.V1.
"""

@discovery_revision "20221108"
@discovery_revision "20240227"

def discovery_revision(), do: @discovery_revision
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 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.Spanner.V1.Model.AutoscalingConfig do
@moduledoc """
Autoscaling config for an instance.

## Attributes

* `autoscalingLimits` (*type:* `GoogleApi.Spanner.V1.Model.AutoscalingLimits.t`, *default:* `nil`) - Required. Autoscaling limits for an instance.
* `autoscalingTargets` (*type:* `GoogleApi.Spanner.V1.Model.AutoscalingTargets.t`, *default:* `nil`) - Required. The autoscaling targets for an instance.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:autoscalingLimits => GoogleApi.Spanner.V1.Model.AutoscalingLimits.t() | nil,
:autoscalingTargets => GoogleApi.Spanner.V1.Model.AutoscalingTargets.t() | nil
}

field(:autoscalingLimits, as: GoogleApi.Spanner.V1.Model.AutoscalingLimits)
field(:autoscalingTargets, as: GoogleApi.Spanner.V1.Model.AutoscalingTargets)
end

defimpl Poison.Decoder, for: GoogleApi.Spanner.V1.Model.AutoscalingConfig do
def decode(value, options) do
GoogleApi.Spanner.V1.Model.AutoscalingConfig.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.Spanner.V1.Model.AutoscalingConfig do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -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.Spanner.V1.Model.AutoscalingLimits do
@moduledoc """
The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit.

## Attributes

* `maxNodes` (*type:* `integer()`, *default:* `nil`) - Maximum number of nodes allocated to the instance. If set, this number should be greater than or equal to min_nodes.
* `maxProcessingUnits` (*type:* `integer()`, *default:* `nil`) - Maximum number of processing units allocated to the instance. If set, this number should be multiples of 1000 and be greater than or equal to min_processing_units.
* `minNodes` (*type:* `integer()`, *default:* `nil`) - Minimum number of nodes allocated to the instance. If set, this number should be greater than or equal to 1.
* `minProcessingUnits` (*type:* `integer()`, *default:* `nil`) - Minimum number of processing units allocated to the instance. If set, this number should be multiples of 1000.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:maxNodes => integer() | nil,
:maxProcessingUnits => integer() | nil,
:minNodes => integer() | nil,
:minProcessingUnits => integer() | nil
}

field(:maxNodes)
field(:maxProcessingUnits)
field(:minNodes)
field(:minProcessingUnits)
end

defimpl Poison.Decoder, for: GoogleApi.Spanner.V1.Model.AutoscalingLimits do
def decode(value, options) do
GoogleApi.Spanner.V1.Model.AutoscalingLimits.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.Spanner.V1.Model.AutoscalingLimits do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 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.Spanner.V1.Model.AutoscalingTargets do
@moduledoc """
The autoscaling targets for an instance.

## Attributes

* `highPriorityCpuUtilizationPercent` (*type:* `integer()`, *default:* `nil`) - Required. The target high priority cpu utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 90] inclusive.
* `storageUtilizationPercent` (*type:* `integer()`, *default:* `nil`) - Required. The target storage utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 99] inclusive.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:highPriorityCpuUtilizationPercent => integer() | nil,
:storageUtilizationPercent => integer() | nil
}

field(:highPriorityCpuUtilizationPercent)
field(:storageUtilizationPercent)
end

defimpl Poison.Decoder, for: GoogleApi.Spanner.V1.Model.AutoscalingTargets do
def decode(value, options) do
GoogleApi.Spanner.V1.Model.AutoscalingTargets.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.Spanner.V1.Model.AutoscalingTargets do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -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.Spanner.V1.Model.BatchWriteRequest do
@moduledoc """
The request for BatchWrite.

## Attributes

* `excludeTxnFromChangeStreams` (*type:* `boolean()`, *default:* `nil`) - Optional. When `exclude_txn_from_change_streams` is set to `true`: * Mutations from all transactions in this batch write operation will not be recorded in change streams with DDL option `allow_txn_exclusion=true` that are tracking columns modified by these transactions. * Mutations from all transactions in this batch write operation will be recorded in change streams with DDL option `allow_txn_exclusion=false or not set` that are tracking columns modified by these transactions. When `exclude_txn_from_change_streams` is set to `false` or not set, mutations from all transactions in this batch write operation will be recorded in all change streams that are tracking columns modified by these transactions.
* `mutationGroups` (*type:* `list(GoogleApi.Spanner.V1.Model.MutationGroup.t)`, *default:* `nil`) - Required. The groups of mutations to be applied.
* `requestOptions` (*type:* `GoogleApi.Spanner.V1.Model.RequestOptions.t`, *default:* `nil`) - Common options for this request.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:excludeTxnFromChangeStreams => boolean() | nil,
:mutationGroups => list(GoogleApi.Spanner.V1.Model.MutationGroup.t()) | nil,
:requestOptions => GoogleApi.Spanner.V1.Model.RequestOptions.t() | nil
}

field(:excludeTxnFromChangeStreams)
field(:mutationGroups, as: GoogleApi.Spanner.V1.Model.MutationGroup, type: :list)
field(:requestOptions, as: GoogleApi.Spanner.V1.Model.RequestOptions)
end

defimpl Poison.Decoder, for: GoogleApi.Spanner.V1.Model.BatchWriteRequest do
def decode(value, options) do
GoogleApi.Spanner.V1.Model.BatchWriteRequest.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.Spanner.V1.Model.BatchWriteRequest do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -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.Spanner.V1.Model.BatchWriteResponse do
@moduledoc """
The result of applying a batch of mutations.

## Attributes

* `commitTimestamp` (*type:* `DateTime.t`, *default:* `nil`) - The commit timestamp of the transaction that applied this batch. Present if `status` is `OK`, absent otherwise.
* `indexes` (*type:* `list(integer())`, *default:* `nil`) - The mutation groups applied in this batch. The values index into the `mutation_groups` field in the corresponding `BatchWriteRequest`.
* `status` (*type:* `GoogleApi.Spanner.V1.Model.Status.t`, *default:* `nil`) - An `OK` status indicates success. Any other status indicates a failure.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:commitTimestamp => DateTime.t() | nil,
:indexes => list(integer()) | nil,
:status => GoogleApi.Spanner.V1.Model.Status.t() | nil
}

field(:commitTimestamp, as: DateTime)
field(:indexes, type: :list)
field(:status, as: GoogleApi.Spanner.V1.Model.Status)
end

defimpl Poison.Decoder, for: GoogleApi.Spanner.V1.Model.BatchWriteResponse do
def decode(value, options) do
GoogleApi.Spanner.V1.Model.BatchWriteResponse.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.Spanner.V1.Model.BatchWriteResponse do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
4 changes: 2 additions & 2 deletions clients/spanner/lib/google_api/spanner/v1/model/binding.ex
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ defmodule GoogleApi.Spanner.V1.Model.Binding do
## Attributes

* `condition` (*type:* `GoogleApi.Spanner.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, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `[email protected]`. * `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, `[email protected]`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `[email protected]?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, `[email protected]?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, `[email protected]?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, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `[email protected]`. * `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, `[email protected]`. * `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, `[email protected]?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, `[email protected]?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, `[email protected]?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
Expand Down
Loading
Loading