diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/api/operations.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/api/operations.ex index 188d0caa38..32be7343af 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/api/operations.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/api/operations.ex @@ -25,136 +25,6 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Operations do @library_version Mix.Project.config() |> Keyword.get(:version, "") - @doc """ - Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. - - ## Parameters - - * `connection` (*type:* `GoogleApi.BigtableAdmin.V2.Connection.t`) - Connection to server - * `operations_id` (*type:* `String.t`) - Part of `name`. The name of the operation resource to be cancelled. - * `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"). - * `opts` (*type:* `keyword()`) - Call options - - ## Returns - - * `{:ok, %GoogleApi.BigtableAdmin.V2.Model.Empty{}}` on success - * `{:error, info}` on failure - """ - @spec bigtableadmin_operations_cancel(Tesla.Env.client(), String.t(), keyword(), keyword()) :: - {:ok, GoogleApi.BigtableAdmin.V2.Model.Empty.t()} - | {:ok, Tesla.Env.t()} - | {:ok, list()} - | {:error, any()} - def bigtableadmin_operations_cancel( - connection, - operations_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 - } - - request = - Request.new() - |> Request.method(:post) - |> Request.url("/v2/operations/{operationsId}:cancel", %{ - "operationsId" => URI.encode(operations_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.BigtableAdmin.V2.Model.Empty{}]) - end - - @doc """ - Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. - - ## Parameters - - * `connection` (*type:* `GoogleApi.BigtableAdmin.V2.Connection.t`) - Connection to server - * `operations_id` (*type:* `String.t`) - Part of `name`. The name of the operation resource to be deleted. - * `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"). - * `opts` (*type:* `keyword()`) - Call options - - ## Returns - - * `{:ok, %GoogleApi.BigtableAdmin.V2.Model.Empty{}}` on success - * `{:error, info}` on failure - """ - @spec bigtableadmin_operations_delete(Tesla.Env.client(), String.t(), keyword(), keyword()) :: - {:ok, GoogleApi.BigtableAdmin.V2.Model.Empty.t()} - | {:ok, Tesla.Env.t()} - | {:ok, list()} - | {:error, any()} - def bigtableadmin_operations_delete( - connection, - operations_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 - } - - request = - Request.new() - |> Request.method(:delete) - |> Request.url("/v2/operations/{operationsId}", %{ - "operationsId" => URI.encode(operations_id, &(URI.char_unreserved?(&1) || &1 == ?/)) - }) - |> Request.add_optional_params(optional_params_config, optional_params) - |> Request.library_version(@library_version) - - connection - |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.BigtableAdmin.V2.Model.Empty{}]) - end - @doc """ Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. @@ -216,7 +86,7 @@ defmodule GoogleApi.BigtableAdmin.V2.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 diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/api/projects.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/api/projects.ex index bbd58ef74f..e3797a1e73 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/api/projects.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/api/projects.ex @@ -1925,7 +1925,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Projects do end @doc """ - Gets the access control policy for a Table resource. Returns an empty policy if the resource exists but does not have a policy set. + Gets the access control policy for a Table or Backup resource. Returns an empty policy if the resource exists but does not have a policy set. ## Parameters @@ -2190,7 +2190,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Projects do end @doc """ - Sets the access control policy on a Table resource. Replaces any existing policy. + Sets the access control policy on a Table or Backup resource. Replaces any existing policy. ## Parameters @@ -2277,7 +2277,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Projects do end @doc """ - Returns permissions that the caller has on the specified table resource. + Returns permissions that the caller has on the specified Table or Backup resource. ## Parameters @@ -2696,7 +2696,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Projects do end @doc """ - Permanently drop/delete a row range from a specified table. The request can specify whether to delete all rows in a table, or only those that match a particular prefix. + Permanently drop/delete a row range from a specified table. The request can specify whether to delete all rows in a table, or only those that match a particular prefix. Note that row key prefixes used here are treated as service data. For more information about how service data is handled, see the [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). ## Parameters @@ -2944,7 +2944,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Projects do end @doc """ - Gets the access control policy for a Table resource. Returns an empty policy if the resource exists but does not have a policy set. + Gets the access control policy for a Table or Backup resource. Returns an empty policy if the resource exists but does not have a policy set. ## Parameters @@ -3348,7 +3348,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Projects do end @doc """ - Sets the access control policy on a Table resource. Replaces any existing policy. + Sets the access control policy on a Table or Backup resource. Replaces any existing policy. ## Parameters @@ -3431,7 +3431,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Projects do end @doc """ - Returns permissions that the caller has on the specified table resource. + Returns permissions that the caller has on the specified Table or Backup resource. ## Parameters @@ -3598,80 +3598,6 @@ defmodule GoogleApi.BigtableAdmin.V2.Api.Projects do |> Response.decode(opts ++ [struct: %GoogleApi.BigtableAdmin.V2.Model.Operation{}]) end - @doc """ - Gets information about a location. - - ## Parameters - - * `connection` (*type:* `GoogleApi.BigtableAdmin.V2.Connection.t`) - Connection to server - * `projects_id` (*type:* `String.t`) - Part of `name`. Resource name for the location. - * `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. - * `: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"). - * `opts` (*type:* `keyword()`) - Call options - - ## Returns - - * `{:ok, %GoogleApi.BigtableAdmin.V2.Model.Location{}}` on success - * `{:error, info}` on failure - """ - @spec bigtableadmin_projects_locations_get( - Tesla.Env.client(), - String.t(), - String.t(), - keyword(), - keyword() - ) :: - {:ok, GoogleApi.BigtableAdmin.V2.Model.Location.t()} - | {:ok, Tesla.Env.t()} - | {:ok, list()} - | {:error, any()} - def bigtableadmin_projects_locations_get( - connection, - projects_id, - locations_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 - } - - request = - Request.new() - |> Request.method(:get) - |> Request.url("/v2/projects/{projectsId}/locations/{locationsId}", %{ - "projectsId" => URI.encode(projects_id, &URI.char_unreserved?/1), - "locationsId" => URI.encode(locations_id, &(URI.char_unreserved?(&1) || &1 == ?/)) - }) - |> Request.add_optional_params(optional_params_config, optional_params) - |> Request.library_version(@library_version) - - connection - |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.BigtableAdmin.V2.Model.Location{}]) - end - @doc """ Lists information about the supported locations for this service. diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/metadata.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/metadata.ex index 08db16c3c6..09bacd59d2 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/metadata.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.BigtableAdmin.V2 do API client metadata for GoogleApi.BigtableAdmin.V2. """ - @discovery_revision "20221101" + @discovery_revision "20240225" def discovery_revision(), do: @discovery_revision end diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/app_profile.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/app_profile.ex index 912cb69dee..4aba0fc6eb 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/app_profile.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/app_profile.ex @@ -25,7 +25,9 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.AppProfile do * `etag` (*type:* `String.t`, *default:* `nil`) - Strongly validated etag for optimistic concurrency control. Preserve the value returned from `GetAppProfile` when calling `UpdateAppProfile` to fail the request if there has been a modification in the mean time. The `update_mask` of the request need not include `etag` for this protection to apply. See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for more details. * `multiClusterRoutingUseAny` (*type:* `GoogleApi.BigtableAdmin.V2.Model.MultiClusterRoutingUseAny.t`, *default:* `nil`) - Use a multi-cluster routing policy. * `name` (*type:* `String.t`, *default:* `nil`) - The unique name of the app profile. Values are of the form `projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`. + * `priority` (*type:* `String.t`, *default:* `nil`) - This field has been deprecated in favor of `standard_isolation.priority`. If you set this field, `standard_isolation.priority` will be set instead. The priority of requests sent using this app profile. * `singleClusterRouting` (*type:* `GoogleApi.BigtableAdmin.V2.Model.SingleClusterRouting.t`, *default:* `nil`) - Use a single-cluster routing policy. + * `standardIsolation` (*type:* `GoogleApi.BigtableAdmin.V2.Model.StandardIsolation.t`, *default:* `nil`) - The standard options used for isolating this app profile's traffic from other use cases. """ use GoogleApi.Gax.ModelBase @@ -36,7 +38,10 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.AppProfile do :multiClusterRoutingUseAny => GoogleApi.BigtableAdmin.V2.Model.MultiClusterRoutingUseAny.t() | nil, :name => String.t() | nil, - :singleClusterRouting => GoogleApi.BigtableAdmin.V2.Model.SingleClusterRouting.t() | nil + :priority => String.t() | nil, + :singleClusterRouting => + GoogleApi.BigtableAdmin.V2.Model.SingleClusterRouting.t() | nil, + :standardIsolation => GoogleApi.BigtableAdmin.V2.Model.StandardIsolation.t() | nil } field(:description) @@ -45,7 +50,9 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.AppProfile do field(:multiClusterRoutingUseAny, as: GoogleApi.BigtableAdmin.V2.Model.MultiClusterRoutingUseAny) field(:name) + field(:priority) field(:singleClusterRouting, as: GoogleApi.BigtableAdmin.V2.Model.SingleClusterRouting) + field(:standardIsolation, as: GoogleApi.BigtableAdmin.V2.Model.StandardIsolation) end defimpl Poison.Decoder, for: GoogleApi.BigtableAdmin.V2.Model.AppProfile do diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/automated_backup_policy.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/automated_backup_policy.ex new file mode 100644 index 0000000000..aec173edfd --- /dev/null +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/automated_backup_policy.ex @@ -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.BigtableAdmin.V2.Model.AutomatedBackupPolicy do + @moduledoc """ + Defines an automated backup policy for a table + + ## Attributes + + * `frequency` (*type:* `String.t`, *default:* `nil`) - Required. How frequently automated backups should occur. The only supported value at this time is 24 hours. + * `retentionPeriod` (*type:* `String.t`, *default:* `nil`) - Required. How long the automated backups should be retained. The only supported value at this time is 3 days. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :frequency => String.t() | nil, + :retentionPeriod => String.t() | nil + } + + field(:frequency) + field(:retentionPeriod) +end + +defimpl Poison.Decoder, for: GoogleApi.BigtableAdmin.V2.Model.AutomatedBackupPolicy do + def decode(value, options) do + GoogleApi.BigtableAdmin.V2.Model.AutomatedBackupPolicy.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BigtableAdmin.V2.Model.AutomatedBackupPolicy do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/backup.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/backup.ex index 3a836fa0ef..e4270d3cb9 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/backup.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/backup.ex @@ -23,10 +23,10 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Backup do * `encryptionInfo` (*type:* `GoogleApi.BigtableAdmin.V2.Model.EncryptionInfo.t`, *default:* `nil`) - Output only. The encryption information for the backup. * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. `end_time` is the time that the backup was finished. The row data in the backup will be no newer than this timestamp. - * `expireTime` (*type:* `DateTime.t`, *default:* `nil`) - Required. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 30 days from the time the request is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup and free the resources used by the backup. + * `expireTime` (*type:* `DateTime.t`, *default:* `nil`) - Required. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 90 days from the time the request is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup and free the resources used by the backup. * `name` (*type:* `String.t`, *default:* `nil`) - A globally unique identifier for the backup which cannot be changed. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/ backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50 characters in length. The backup is stored in the cluster identified by the prefix of the backup name of the form `projects/{project}/instances/{instance}/clusters/{cluster}`. * `sizeBytes` (*type:* `String.t`, *default:* `nil`) - Output only. Size of the backup in bytes. - * `sourceBackup` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//backups/. + * `sourceBackup` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//clusters//backups/ * `sourceTable` (*type:* `String.t`, *default:* `nil`) - Required. Immutable. Name of the table from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects/{project}/instances/{instance}/tables/{source_table}`. * `startTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. `start_time` is the time that the backup was started (i.e. approximately the time the CreateBackup request is received). The row data in this backup will be no older than this timestamp. * `state` (*type:* `String.t`, *default:* `nil`) - Output only. The current state of the backup. diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/backup_info.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/backup_info.ex index e0aa433eb4..ff3bd3175b 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/backup_info.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/backup_info.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.BackupInfo do * `backup` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the backup. * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. This time that the backup was finished. Row data in the backup will be no newer than this timestamp. - * `sourceBackup` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//backups/. + * `sourceBackup` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//clusters//backups/ * `sourceTable` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the table the backup was created from. * `startTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The time that the backup was started. Row data in the backup will be no older than this timestamp. """ diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/binding.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/binding.ex index 1d0a5bc137..d763f19e31 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/binding.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/binding.ex @@ -22,8 +22,8 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Binding do ## Attributes * `condition` (*type:* `GoogleApi.BigtableAdmin.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/bigtable_admin/lib/google_api/bigtable_admin/v2/model/change_stream_config.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/change_stream_config.ex new file mode 100644 index 0000000000..11c8622a61 --- /dev/null +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/change_stream_config.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.BigtableAdmin.V2.Model.ChangeStreamConfig do + @moduledoc """ + Change stream configuration. + + ## Attributes + + * `retentionPeriod` (*type:* `String.t`, *default:* `nil`) - How long the change stream should be retained. Change stream data older than the retention period will not be returned when reading the change stream from the table. Values must be at least 1 day and at most 7 days, and will be truncated to microsecond granularity. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :retentionPeriod => String.t() | nil + } + + field(:retentionPeriod) +end + +defimpl Poison.Decoder, for: GoogleApi.BigtableAdmin.V2.Model.ChangeStreamConfig do + def decode(value, options) do + GoogleApi.BigtableAdmin.V2.Model.ChangeStreamConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BigtableAdmin.V2.Model.ChangeStreamConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/cluster.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/cluster.ex index 5c79543fa0..762e56a42a 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/cluster.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/cluster.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Cluster do * `encryptionConfig` (*type:* `GoogleApi.BigtableAdmin.V2.Model.EncryptionConfig.t`, *default:* `nil`) - Immutable. The encryption configuration for CMEK-protected clusters. * `location` (*type:* `String.t`, *default:* `nil`) - Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. * `name` (*type:* `String.t`, *default:* `nil`) - The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. - * `serveNodes` (*type:* `integer()`, *default:* `nil`) - The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance. + * `serveNodes` (*type:* `integer()`, *default:* `nil`) - The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. * `state` (*type:* `String.t`, *default:* `nil`) - Output only. The current state of the cluster. """ diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/column_family.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/column_family.ex index 869c29c0fd..9915b38e47 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/column_family.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/column_family.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.ColumnFamily do ## Attributes * `gcRule` (*type:* `GoogleApi.BigtableAdmin.V2.Model.GcRule.t`, *default:* `nil`) - Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. - * `stats` (*type:* `GoogleApi.BigtableAdmin.V2.Model.ColumnFamilyStats.t`, *default:* `nil`) - Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above. + * `stats` (*type:* `GoogleApi.BigtableAdmin.V2.Model.ColumnFamilyStats.t`, *default:* `nil`) - Output only. Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above. """ use GoogleApi.Gax.ModelBase diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/instance.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/instance.ex index 0fb2b2970f..60810f6868 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/instance.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/instance.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Instance do ## Attributes - * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. A server-assigned timestamp representing when this Instance was created. For instances created before this field was added (August 2021), this value is `seconds: 0, nanos: 1`. + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. A commit timestamp representing when this Instance was created. For instances created before this field was added (August 2021), this value is `seconds: 0, nanos: 1`. * `displayName` (*type:* `String.t`, *default:* `nil`) - Required. The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. * `labels` (*type:* `map()`, *default:* `nil`) - Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\\p{Ll}\\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes. * `name` (*type:* `String.t`, *default:* `nil`) - The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`. diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/location.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/location.ex index 35ccfa23fd..a4555c4fc6 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/location.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/location.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.BigtableAdmin.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/bigtable_admin/lib/google_api/bigtable_admin/v2/model/modification.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/modification.ex index 07cfb689e2..0ed06a9a00 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/modification.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/modification.ex @@ -25,6 +25,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Modification do * `drop` (*type:* `boolean()`, *default:* `nil`) - Drop (delete) the column family with the given ID, or fail if no such family exists. * `id` (*type:* `String.t`, *default:* `nil`) - The ID of the column family to be modified. * `update` (*type:* `GoogleApi.BigtableAdmin.V2.Model.ColumnFamily.t`, *default:* `nil`) - Update an existing column family to the specified schema, or fail if no column family exists with the given ID. + * `updateMask` (*type:* `String.t`, *default:* `nil`) - Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update` mod should be updated, ignored for other modification types. If unset or empty, we treat it as updating `gc_rule` to be backward compatible. """ use GoogleApi.Gax.ModelBase @@ -33,13 +34,15 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Modification do :create => GoogleApi.BigtableAdmin.V2.Model.ColumnFamily.t() | nil, :drop => boolean() | nil, :id => String.t() | nil, - :update => GoogleApi.BigtableAdmin.V2.Model.ColumnFamily.t() | nil + :update => GoogleApi.BigtableAdmin.V2.Model.ColumnFamily.t() | nil, + :updateMask => String.t() | nil } field(:create, as: GoogleApi.BigtableAdmin.V2.Model.ColumnFamily) field(:drop) field(:id) field(:update, as: GoogleApi.BigtableAdmin.V2.Model.ColumnFamily) + field(:updateMask) end defimpl Poison.Decoder, for: GoogleApi.BigtableAdmin.V2.Model.Modification do diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/modify_column_families_request.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/modify_column_families_request.ex index a877552cd3..096ae33055 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/modify_column_families_request.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/modify_column_families_request.ex @@ -21,15 +21,18 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.ModifyColumnFamiliesRequest do ## Attributes + * `ignoreWarnings` (*type:* `boolean()`, *default:* `nil`) - Optional. If true, ignore safety checks when modifying the column families. * `modifications` (*type:* `list(GoogleApi.BigtableAdmin.V2.Model.Modification.t)`, *default:* `nil`) - Required. Modifications to be atomically applied to the specified table's families. Entries are applied in order, meaning that earlier modifications can be masked by later ones (in the case of repeated updates to the same family, for example). """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :ignoreWarnings => boolean() | nil, :modifications => list(GoogleApi.BigtableAdmin.V2.Model.Modification.t()) | nil } + field(:ignoreWarnings) field(:modifications, as: GoogleApi.BigtableAdmin.V2.Model.Modification, type: :list) end diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/operation.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/operation.ex index 0ee430a46e..04727e0bcb 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/operation.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/operation.ex @@ -25,7 +25,7 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Operation do * `error` (*type:* `GoogleApi.BigtableAdmin.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/bigtable_admin/lib/google_api/bigtable_admin/v2/model/policy.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/policy.ex index 43d8ee41f4..e481104b7f 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/policy.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/policy.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.BigtableAdmin.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/bigtable_admin/lib/google_api/bigtable_admin/v2/model/standard_isolation.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/standard_isolation.ex new file mode 100644 index 0000000000..239919bf5e --- /dev/null +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/standard_isolation.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.BigtableAdmin.V2.Model.StandardIsolation do + @moduledoc """ + Standard options for isolating this app profile's traffic from other use cases. + + ## Attributes + + * `priority` (*type:* `String.t`, *default:* `nil`) - The priority of requests sent using this app profile. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :priority => String.t() | nil + } + + field(:priority) +end + +defimpl Poison.Decoder, for: GoogleApi.BigtableAdmin.V2.Model.StandardIsolation do + def decode(value, options) do + GoogleApi.BigtableAdmin.V2.Model.StandardIsolation.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BigtableAdmin.V2.Model.StandardIsolation do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/table.ex b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/table.ex index 754b1f35fd..d1e5e1a700 100644 --- a/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/table.ex +++ b/clients/bigtable_admin/lib/google_api/bigtable_admin/v2/model/table.ex @@ -21,18 +21,23 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Table do ## Attributes + * `automatedBackupPolicy` (*type:* `GoogleApi.BigtableAdmin.V2.Model.AutomatedBackupPolicy.t`, *default:* `nil`) - If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled. + * `changeStreamConfig` (*type:* `GoogleApi.BigtableAdmin.V2.Model.ChangeStreamConfig.t`, *default:* `nil`) - If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained. * `clusterStates` (*type:* `%{optional(String.t) => GoogleApi.BigtableAdmin.V2.Model.ClusterState.t}`, *default:* `nil`) - Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` * `columnFamilies` (*type:* `%{optional(String.t) => GoogleApi.BigtableAdmin.V2.Model.ColumnFamily.t}`, *default:* `nil`) - The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` - * `deletionProtection` (*type:* `boolean()`, *default:* `nil`) - Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: - The table. - The column families in the table. - The instance containing the table. Note one can still delete the data stored in the table through Data APIs. + * `deletionProtection` (*type:* `boolean()`, *default:* `nil`) - Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. * `granularity` (*type:* `String.t`, *default:* `nil`) - Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. * `name` (*type:* `String.t`, *default:* `nil`) - The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL` * `restoreInfo` (*type:* `GoogleApi.BigtableAdmin.V2.Model.RestoreInfo.t`, *default:* `nil`) - Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore. - * `stats` (*type:* `GoogleApi.BigtableAdmin.V2.Model.TableStats.t`, *default:* `nil`) - Only available with STATS_VIEW, this includes summary statistics about the entire table contents. For statistics about a specific column family, see ColumnFamilyStats in the mapped ColumnFamily collection above. + * `stats` (*type:* `GoogleApi.BigtableAdmin.V2.Model.TableStats.t`, *default:* `nil`) - Output only. Only available with STATS_VIEW, this includes summary statistics about the entire table contents. For statistics about a specific column family, see ColumnFamilyStats in the mapped ColumnFamily collection above. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :automatedBackupPolicy => + GoogleApi.BigtableAdmin.V2.Model.AutomatedBackupPolicy.t() | nil, + :changeStreamConfig => GoogleApi.BigtableAdmin.V2.Model.ChangeStreamConfig.t() | nil, :clusterStates => %{optional(String.t()) => GoogleApi.BigtableAdmin.V2.Model.ClusterState.t()} | nil, :columnFamilies => @@ -44,6 +49,8 @@ defmodule GoogleApi.BigtableAdmin.V2.Model.Table do :stats => GoogleApi.BigtableAdmin.V2.Model.TableStats.t() | nil } + field(:automatedBackupPolicy, as: GoogleApi.BigtableAdmin.V2.Model.AutomatedBackupPolicy) + field(:changeStreamConfig, as: GoogleApi.BigtableAdmin.V2.Model.ChangeStreamConfig) field(:clusterStates, as: GoogleApi.BigtableAdmin.V2.Model.ClusterState, type: :map) field(:columnFamilies, as: GoogleApi.BigtableAdmin.V2.Model.ColumnFamily, type: :map) field(:deletionProtection)