google-cloud-bigtable-admin-v2 0.9.1 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97a9edd338af50efbc005ef2ff8c1691be2ea9d25b42ccc74a91b0c90c7c7734
4
- data.tar.gz: 4077b5c230d0be81e7b2f948ac0964b9e07776c6e06d4b9a049666638f4559bd
3
+ metadata.gz: 18dae439c160b82e39f9469cbd70341a8c243ebccc0ef4f3a60637a273cb33c8
4
+ data.tar.gz: 5123c0bb2a69ab965a86ec283fec15cc0b8f07f52fe1ed0eb486854d7d521a67
5
5
  SHA512:
6
- metadata.gz: 7ef4cff6fd31626680a4e90650f1b37cd6ec433f38eb0ef3a676e4f768ec85a2388f6c63b4ba362af05a266b8025656a529868cb4a2e9ccf7c4add9024991c9a
7
- data.tar.gz: c6e62ec1bf85c0757f475c434a409ab866234ede9a0f6b22d8980eb4fb5194f6c7717d572d3217625d95f54636d955e8ee64d80b5defa608c1438f816f9b718c
6
+ metadata.gz: 3fc5422bd29adb34e608d2308b73e3b417a581346169f57f80259aa2fc61feedf3d5b57e96d1e06337b9ed647cff17d45ebe098c3b6b11f86b7099461b3b6b9b
7
+ data.tar.gz: 3dc100029be113dc55fdea8d50bc71a56e218098db1b62b5c085fed80e31cac51107ace13f07c702a5d2b73144c8e167ad6ae4980db209f09b651ec20e2e7280
data/README.md CHANGED
@@ -69,6 +69,11 @@ module GRPC
69
69
  end
70
70
  ```
71
71
 
72
+
73
+ ## Google Cloud Samples
74
+
75
+ To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
76
+
72
77
  ## Supported Ruby Versions
73
78
 
74
79
  This library is supported on Ruby 2.5+.
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/bigtable/admin/v2/bigtable_instance_admin.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/field_behavior_pb'
@@ -12,7 +14,6 @@ require 'google/longrunning/operations_pb'
12
14
  require 'google/protobuf/empty_pb'
13
15
  require 'google/protobuf/field_mask_pb'
14
16
  require 'google/protobuf/timestamp_pb'
15
- require 'google/protobuf'
16
17
 
17
18
  Google::Protobuf::DescriptorPool.generated_pool.build do
18
19
  add_file("google/bigtable/admin/v2/bigtable_instance_admin.proto", :syntax => :proto3) do
@@ -75,6 +76,19 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
75
76
  optional :original_request, :message, 1, "google.bigtable.admin.v2.CreateClusterRequest"
76
77
  optional :request_time, :message, 2, "google.protobuf.Timestamp"
77
78
  optional :finish_time, :message, 3, "google.protobuf.Timestamp"
79
+ map :tables, :string, :message, 4, "google.bigtable.admin.v2.CreateClusterMetadata.TableProgress"
80
+ end
81
+ add_message "google.bigtable.admin.v2.CreateClusterMetadata.TableProgress" do
82
+ optional :estimated_size_bytes, :int64, 2
83
+ optional :estimated_copied_bytes, :int64, 3
84
+ optional :state, :enum, 4, "google.bigtable.admin.v2.CreateClusterMetadata.TableProgress.State"
85
+ end
86
+ add_enum "google.bigtable.admin.v2.CreateClusterMetadata.TableProgress.State" do
87
+ value :STATE_UNSPECIFIED, 0
88
+ value :PENDING, 1
89
+ value :COPYING, 2
90
+ value :COMPLETED, 3
91
+ value :CANCELLED, 4
78
92
  end
79
93
  add_message "google.bigtable.admin.v2.UpdateClusterMetadata" do
80
94
  optional :original_request, :message, 1, "google.bigtable.admin.v2.Cluster"
@@ -153,6 +167,8 @@ module Google
153
167
  CreateInstanceMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.CreateInstanceMetadata").msgclass
154
168
  UpdateInstanceMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.UpdateInstanceMetadata").msgclass
155
169
  CreateClusterMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.CreateClusterMetadata").msgclass
170
+ CreateClusterMetadata::TableProgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.CreateClusterMetadata.TableProgress").msgclass
171
+ CreateClusterMetadata::TableProgress::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.CreateClusterMetadata.TableProgress.State").enummodule
156
172
  UpdateClusterMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.UpdateClusterMetadata").msgclass
157
173
  PartialUpdateClusterMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.PartialUpdateClusterMetadata").msgclass
158
174
  PartialUpdateClusterRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.PartialUpdateClusterRequest").msgclass
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/bigtable/admin/v2/bigtable_table_admin.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/field_behavior_pb'
@@ -14,7 +16,6 @@ require 'google/protobuf/duration_pb'
14
16
  require 'google/protobuf/empty_pb'
15
17
  require 'google/protobuf/field_mask_pb'
16
18
  require 'google/protobuf/timestamp_pb'
17
- require 'google/protobuf'
18
19
 
19
20
  Google::Protobuf::DescriptorPool.generated_pool.build do
20
21
  add_file("google/bigtable/admin/v2/bigtable_table_admin.proto", :syntax => :proto3) do
@@ -76,6 +77,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
76
77
  add_message "google.bigtable.admin.v2.DeleteTableRequest" do
77
78
  optional :name, :string, 1
78
79
  end
80
+ add_message "google.bigtable.admin.v2.UndeleteTableRequest" do
81
+ optional :name, :string, 1
82
+ end
83
+ add_message "google.bigtable.admin.v2.UndeleteTableMetadata" do
84
+ optional :name, :string, 1
85
+ optional :start_time, :message, 2, "google.protobuf.Timestamp"
86
+ optional :end_time, :message, 3, "google.protobuf.Timestamp"
87
+ end
79
88
  add_message "google.bigtable.admin.v2.ModifyColumnFamiliesRequest" do
80
89
  optional :name, :string, 1
81
90
  repeated :modifications, :message, 2, "google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification"
@@ -184,6 +193,8 @@ module Google
184
193
  ListTablesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.ListTablesResponse").msgclass
185
194
  GetTableRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.GetTableRequest").msgclass
186
195
  DeleteTableRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.DeleteTableRequest").msgclass
196
+ UndeleteTableRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.UndeleteTableRequest").msgclass
197
+ UndeleteTableMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.UndeleteTableMetadata").msgclass
187
198
  ModifyColumnFamiliesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.ModifyColumnFamiliesRequest").msgclass
188
199
  ModifyColumnFamiliesRequest::Modification = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification").msgclass
189
200
  GenerateConsistencyTokenRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.admin.v2.GenerateConsistencyTokenRequest").msgclass
@@ -57,6 +57,8 @@ module Google
57
57
  rpc :GetTable, ::Google::Cloud::Bigtable::Admin::V2::GetTableRequest, ::Google::Cloud::Bigtable::Admin::V2::Table
58
58
  # Permanently deletes a specified table and all of its data.
59
59
  rpc :DeleteTable, ::Google::Cloud::Bigtable::Admin::V2::DeleteTableRequest, ::Google::Protobuf::Empty
60
+ # Restores a specified table which was accidentally deleted.
61
+ rpc :UndeleteTable, ::Google::Cloud::Bigtable::Admin::V2::UndeleteTableRequest, ::Google::Longrunning::Operation
60
62
  # Performs a series of column family modifications on the specified table.
61
63
  # Either all or none of the modifications will occur before this method
62
64
  # returns, but data requests received prior to that point may see a table
@@ -1,10 +1,10 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/bigtable/admin/v2/common.proto
3
3
 
4
- require 'google/protobuf/timestamp_pb'
5
- require 'google/api/annotations_pb'
6
4
  require 'google/protobuf'
7
5
 
6
+ require 'google/protobuf/timestamp_pb'
7
+
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("google/bigtable/admin/v2/common.proto", :syntax => :proto3) do
10
10
  add_message "google.bigtable.admin.v2.OperationProgress" do
@@ -1,12 +1,12 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/bigtable/admin/v2/instance.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/field_behavior_pb'
5
7
  require 'google/api/resource_pb'
6
8
  require 'google/bigtable/admin/v2/common_pb'
7
9
  require 'google/protobuf/timestamp_pb'
8
- require 'google/api/annotations_pb'
9
- require 'google/protobuf'
10
10
 
11
11
  Google::Protobuf::DescriptorPool.generated_pool.build do
12
12
  add_file("google/bigtable/admin/v2/instance.proto", :syntax => :proto3) do
@@ -30,6 +30,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
30
30
  end
31
31
  add_message "google.bigtable.admin.v2.AutoscalingTargets" do
32
32
  optional :cpu_utilization_percent, :int32, 2
33
+ optional :storage_utilization_gib_per_node, :int32, 3
33
34
  end
34
35
  add_message "google.bigtable.admin.v2.AutoscalingLimits" do
35
36
  optional :min_serve_nodes, :int32, 1
@@ -1,12 +1,13 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/bigtable/admin/v2/table.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/field_behavior_pb'
5
7
  require 'google/api/resource_pb'
6
8
  require 'google/protobuf/duration_pb'
7
9
  require 'google/protobuf/timestamp_pb'
8
10
  require 'google/rpc/status_pb'
9
- require 'google/protobuf'
10
11
 
11
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
12
13
  add_file("google/bigtable/admin/v2/table.proto", :syntax => :proto3) do
@@ -108,11 +108,6 @@ module Google
108
108
  initial_delay: 1.0, max_delay: 60.0, multiplier: 2, retry_codes: [14, 4]
109
109
  }
110
110
 
111
- default_config.rpcs.partial_update_cluster.timeout = 60.0
112
- default_config.rpcs.partial_update_cluster.retry_policy = {
113
- initial_delay: 1.0, max_delay: 60.0, multiplier: 2, retry_codes: [14, 4]
114
- }
115
-
116
111
  default_config.rpcs.delete_cluster.timeout = 60.0
117
112
 
118
113
  default_config.rpcs.create_app_profile.timeout = 60.0
@@ -546,11 +541,14 @@ module Google
546
541
  # @param options [::Gapic::CallOptions, ::Hash]
547
542
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
548
543
  #
549
- # @overload update_instance(display_name: nil, state: nil, type: nil, labels: nil)
544
+ # @overload update_instance(name: nil, display_name: nil, state: nil, type: nil, labels: nil)
550
545
  # Pass arguments to `update_instance` via keyword arguments. Note that at
551
546
  # least one keyword argument is required. To specify no parameters, or to keep all
552
547
  # the default parameter values, pass an empty Hash as a request object (see above).
553
548
  #
549
+ # @param name [::String]
550
+ # The unique name of the instance. Values are of the form
551
+ # `projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9]`.
554
552
  # @param display_name [::String]
555
553
  # Required. The descriptive name for this instance as it appears in UIs.
556
554
  # Can be changed at any time, but should be kept globally unique
@@ -1121,14 +1119,16 @@ module Google
1121
1119
  # @param options [::Gapic::CallOptions, ::Hash]
1122
1120
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1123
1121
  #
1124
- # @overload update_cluster(location: nil, serve_nodes: nil, cluster_config: nil, default_storage_type: nil, encryption_config: nil)
1122
+ # @overload update_cluster(name: nil, location: nil, serve_nodes: nil, cluster_config: nil, default_storage_type: nil, encryption_config: nil)
1125
1123
  # Pass arguments to `update_cluster` via keyword arguments. Note that at
1126
1124
  # least one keyword argument is required. To specify no parameters, or to keep all
1127
1125
  # the default parameter values, pass an empty Hash as a request object (see above).
1128
1126
  #
1127
+ # @param name [::String]
1128
+ # The unique name of the cluster. Values are of the form
1129
+ # `projects/{project}/instances/{instance}/clusters/[a-z][-a-z0-9]*`.
1129
1130
  # @param location [::String]
1130
- # (`CreationOnly`)
1131
- # The location where this cluster's nodes and storage reside. For best
1131
+ # Immutable. The location where this cluster's nodes and storage reside. For best
1132
1132
  # performance, clients should be located as close as possible to this
1133
1133
  # cluster. Currently only zones are supported, so values should be of the
1134
1134
  # form `projects/{project}/locations/{zone}`.
@@ -1138,8 +1138,7 @@ module Google
1138
1138
  # @param cluster_config [::Google::Cloud::Bigtable::Admin::V2::Cluster::ClusterConfig, ::Hash]
1139
1139
  # Configuration for this cluster.
1140
1140
  # @param default_storage_type [::Google::Cloud::Bigtable::Admin::V2::StorageType]
1141
- # (`CreationOnly`)
1142
- # The type of storage used by this cluster to serve its
1141
+ # Immutable. The type of storage used by this cluster to serve its
1143
1142
  # parent instance's tables, unless explicitly overridden.
1144
1143
  # @param encryption_config [::Google::Cloud::Bigtable::Admin::V2::Cluster::EncryptionConfig, ::Hash]
1145
1144
  # Immutable. The encryption configuration for CMEK-protected clusters.
@@ -1909,7 +1908,7 @@ module Google
1909
1908
  # See the operation documentation for the appropriate value for this field.
1910
1909
  # @param options [::Google::Iam::V1::GetPolicyOptions, ::Hash]
1911
1910
  # OPTIONAL: A `GetPolicyOptions` object for specifying options to
1912
- # `GetIamPolicy`. This field is only used by Cloud IAM.
1911
+ # `GetIamPolicy`.
1913
1912
  #
1914
1913
  # @yield [response, operation] Access the result along with the RPC operation
1915
1914
  # @yieldparam response [::Google::Iam::V1::Policy]
@@ -1989,7 +1988,7 @@ module Google
1989
1988
  # @param options [::Gapic::CallOptions, ::Hash]
1990
1989
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1991
1990
  #
1992
- # @overload set_iam_policy(resource: nil, policy: nil)
1991
+ # @overload set_iam_policy(resource: nil, policy: nil, update_mask: nil)
1993
1992
  # Pass arguments to `set_iam_policy` via keyword arguments. Note that at
1994
1993
  # least one keyword argument is required. To specify no parameters, or to keep all
1995
1994
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -2002,6 +2001,12 @@ module Google
2002
2001
  # the policy is limited to a few 10s of KB. An empty policy is a
2003
2002
  # valid policy but certain Cloud Platform services (such as Projects)
2004
2003
  # might reject them.
2004
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
2005
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
2006
+ # the fields in the mask will be modified. If no mask is provided, the
2007
+ # following default mask is used:
2008
+ #
2009
+ # `paths: "bindings, etag"`
2005
2010
  #
2006
2011
  # @yield [response, operation] Access the result along with the RPC operation
2007
2012
  # @yieldparam response [::Google::Iam::V1::Policy]
@@ -737,6 +737,101 @@ module Google
737
737
  raise ::Google::Cloud::Error.from_error(e)
738
738
  end
739
739
 
740
+ ##
741
+ # Restores a specified table which was accidentally deleted.
742
+ #
743
+ # @overload undelete_table(request, options = nil)
744
+ # Pass arguments to `undelete_table` via a request object, either of type
745
+ # {::Google::Cloud::Bigtable::Admin::V2::UndeleteTableRequest} or an equivalent Hash.
746
+ #
747
+ # @param request [::Google::Cloud::Bigtable::Admin::V2::UndeleteTableRequest, ::Hash]
748
+ # A request object representing the call parameters. Required. To specify no
749
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
750
+ # @param options [::Gapic::CallOptions, ::Hash]
751
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
752
+ #
753
+ # @overload undelete_table(name: nil)
754
+ # Pass arguments to `undelete_table` via keyword arguments. Note that at
755
+ # least one keyword argument is required. To specify no parameters, or to keep all
756
+ # the default parameter values, pass an empty Hash as a request object (see above).
757
+ #
758
+ # @param name [::String]
759
+ # Required. The unique name of the table to be restored.
760
+ # Values are of the form
761
+ # `projects/{project}/instances/{instance}/tables/{table}`.
762
+ #
763
+ # @yield [response, operation] Access the result along with the RPC operation
764
+ # @yieldparam response [::Gapic::Operation]
765
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
766
+ #
767
+ # @return [::Gapic::Operation]
768
+ #
769
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
770
+ #
771
+ # @example Basic example
772
+ # require "google/cloud/bigtable/admin/v2"
773
+ #
774
+ # # Create a client object. The client can be reused for multiple calls.
775
+ # client = Google::Cloud::Bigtable::Admin::V2::BigtableTableAdmin::Client.new
776
+ #
777
+ # # Create a request. To set request fields, pass in keyword arguments.
778
+ # request = Google::Cloud::Bigtable::Admin::V2::UndeleteTableRequest.new
779
+ #
780
+ # # Call the undelete_table method.
781
+ # result = client.undelete_table request
782
+ #
783
+ # # The returned object is of type Gapic::Operation. You can use this
784
+ # # object to check the status of an operation, cancel it, or wait
785
+ # # for results. Here is how to block until completion:
786
+ # result.wait_until_done! timeout: 60
787
+ # if result.response?
788
+ # p result.response
789
+ # else
790
+ # puts "Error!"
791
+ # end
792
+ #
793
+ def undelete_table request, options = nil
794
+ raise ::ArgumentError, "request must be provided" if request.nil?
795
+
796
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Bigtable::Admin::V2::UndeleteTableRequest
797
+
798
+ # Converts hash and nil to an options object
799
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
800
+
801
+ # Customize the options with defaults
802
+ metadata = @config.rpcs.undelete_table.metadata.to_h
803
+
804
+ # Set x-goog-api-client and x-goog-user-project headers
805
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
806
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
807
+ gapic_version: ::Google::Cloud::Bigtable::Admin::V2::VERSION
808
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
809
+
810
+ header_params = {}
811
+ if request.name
812
+ header_params["name"] = request.name
813
+ end
814
+
815
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
816
+ metadata[:"x-goog-request-params"] ||= request_params_header
817
+
818
+ options.apply_defaults timeout: @config.rpcs.undelete_table.timeout,
819
+ metadata: metadata,
820
+ retry_policy: @config.rpcs.undelete_table.retry_policy
821
+
822
+ options.apply_defaults timeout: @config.timeout,
823
+ metadata: @config.metadata,
824
+ retry_policy: @config.retry_policy
825
+
826
+ @bigtable_table_admin_stub.call_rpc :undelete_table, request, options: options do |response, operation|
827
+ response = ::Gapic::Operation.new response, @operations_client, options: options
828
+ yield response, operation if block_given?
829
+ return response
830
+ end
831
+ rescue ::GRPC::BadStatus => e
832
+ raise ::Google::Cloud::Error.from_error(e)
833
+ end
834
+
740
835
  ##
741
836
  # Performs a series of column family modifications on the specified table.
742
837
  # Either all or none of the modifications will occur before this method
@@ -2190,7 +2285,7 @@ module Google
2190
2285
  # See the operation documentation for the appropriate value for this field.
2191
2286
  # @param options [::Google::Iam::V1::GetPolicyOptions, ::Hash]
2192
2287
  # OPTIONAL: A `GetPolicyOptions` object for specifying options to
2193
- # `GetIamPolicy`. This field is only used by Cloud IAM.
2288
+ # `GetIamPolicy`.
2194
2289
  #
2195
2290
  # @yield [response, operation] Access the result along with the RPC operation
2196
2291
  # @yieldparam response [::Google::Iam::V1::Policy]
@@ -2270,7 +2365,7 @@ module Google
2270
2365
  # @param options [::Gapic::CallOptions, ::Hash]
2271
2366
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2272
2367
  #
2273
- # @overload set_iam_policy(resource: nil, policy: nil)
2368
+ # @overload set_iam_policy(resource: nil, policy: nil, update_mask: nil)
2274
2369
  # Pass arguments to `set_iam_policy` via keyword arguments. Note that at
2275
2370
  # least one keyword argument is required. To specify no parameters, or to keep all
2276
2371
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -2283,6 +2378,12 @@ module Google
2283
2378
  # the policy is limited to a few 10s of KB. An empty policy is a
2284
2379
  # valid policy but certain Cloud Platform services (such as Projects)
2285
2380
  # might reject them.
2381
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
2382
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
2383
+ # the fields in the mask will be modified. If no mask is provided, the
2384
+ # following default mask is used:
2385
+ #
2386
+ # `paths: "bindings, etag"`
2286
2387
  #
2287
2388
  # @yield [response, operation] Access the result along with the RPC operation
2288
2389
  # @yieldparam response [::Google::Iam::V1::Policy]
@@ -2600,6 +2701,11 @@ module Google
2600
2701
  #
2601
2702
  attr_reader :delete_table
2602
2703
  ##
2704
+ # RPC-specific configuration for `undelete_table`
2705
+ # @return [::Gapic::Config::Method]
2706
+ #
2707
+ attr_reader :undelete_table
2708
+ ##
2603
2709
  # RPC-specific configuration for `modify_column_families`
2604
2710
  # @return [::Gapic::Config::Method]
2605
2711
  #
@@ -2697,6 +2803,8 @@ module Google
2697
2803
  @get_table = ::Gapic::Config::Method.new get_table_config
2698
2804
  delete_table_config = parent_rpcs.delete_table if parent_rpcs.respond_to? :delete_table
2699
2805
  @delete_table = ::Gapic::Config::Method.new delete_table_config
2806
+ undelete_table_config = parent_rpcs.undelete_table if parent_rpcs.respond_to? :undelete_table
2807
+ @undelete_table = ::Gapic::Config::Method.new undelete_table_config
2700
2808
  modify_column_families_config = parent_rpcs.modify_column_families if parent_rpcs.respond_to? :modify_column_families
2701
2809
  @modify_column_families = ::Gapic::Config::Method.new modify_column_families_config
2702
2810
  drop_row_range_config = parent_rpcs.drop_row_range if parent_rpcs.respond_to? :drop_row_range
@@ -22,7 +22,7 @@ module Google
22
22
  module Bigtable
23
23
  module Admin
24
24
  module V2
25
- VERSION = "0.9.1"
25
+ VERSION = "0.12.0"
26
26
  end
27
27
  end
28
28
  end
@@ -237,9 +237,62 @@ module Google
237
237
  # @!attribute [rw] finish_time
238
238
  # @return [::Google::Protobuf::Timestamp]
239
239
  # The time at which the operation failed or was completed successfully.
240
+ # @!attribute [rw] tables
241
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::CreateClusterMetadata::TableProgress}]
242
+ # Keys: the full `name` of each table that existed in the instance when
243
+ # CreateCluster was first called, i.e.
244
+ # `projects/<project>/instances/<instance>/tables/<table>`. Any table added
245
+ # to the instance by a later API call will be created in the new cluster by
246
+ # that API call, not this one.
247
+ #
248
+ # Values: information on how much of a table's data has been copied to the
249
+ # newly-created cluster so far.
240
250
  class CreateClusterMetadata
241
251
  include ::Google::Protobuf::MessageExts
242
252
  extend ::Google::Protobuf::MessageExts::ClassMethods
253
+
254
+ # Progress info for copying a table's data to the new cluster.
255
+ # @!attribute [rw] estimated_size_bytes
256
+ # @return [::Integer]
257
+ # Estimate of the size of the table to be copied.
258
+ # @!attribute [rw] estimated_copied_bytes
259
+ # @return [::Integer]
260
+ # Estimate of the number of bytes copied so far for this table.
261
+ # This will eventually reach 'estimated_size_bytes' unless the table copy
262
+ # is CANCELLED.
263
+ # @!attribute [rw] state
264
+ # @return [::Google::Cloud::Bigtable::Admin::V2::CreateClusterMetadata::TableProgress::State]
265
+ class TableProgress
266
+ include ::Google::Protobuf::MessageExts
267
+ extend ::Google::Protobuf::MessageExts::ClassMethods
268
+
269
+ module State
270
+ STATE_UNSPECIFIED = 0
271
+
272
+ # The table has not yet begun copying to the new cluster.
273
+ PENDING = 1
274
+
275
+ # The table is actively being copied to the new cluster.
276
+ COPYING = 2
277
+
278
+ # The table has been fully copied to the new cluster.
279
+ COMPLETED = 3
280
+
281
+ # The table was deleted before it finished copying to the new cluster.
282
+ # Note that tables deleted after completion will stay marked as
283
+ # COMPLETED, not CANCELLED.
284
+ CANCELLED = 4
285
+ end
286
+ end
287
+
288
+ # @!attribute [rw] key
289
+ # @return [::String]
290
+ # @!attribute [rw] value
291
+ # @return [::Google::Cloud::Bigtable::Admin::V2::CreateClusterMetadata::TableProgress]
292
+ class TablesEntry
293
+ include ::Google::Protobuf::MessageExts
294
+ extend ::Google::Protobuf::MessageExts::ClassMethods
295
+ end
243
296
  end
244
297
 
245
298
  # The metadata for the Operation returned by UpdateCluster.
@@ -252,6 +252,34 @@ module Google
252
252
  extend ::Google::Protobuf::MessageExts::ClassMethods
253
253
  end
254
254
 
255
+ # Request message for
256
+ # {::Google::Cloud::Bigtable::Admin::V2::BigtableTableAdmin::Client#undelete_table google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable}
257
+ # @!attribute [rw] name
258
+ # @return [::String]
259
+ # Required. The unique name of the table to be restored.
260
+ # Values are of the form
261
+ # `projects/{project}/instances/{instance}/tables/{table}`.
262
+ class UndeleteTableRequest
263
+ include ::Google::Protobuf::MessageExts
264
+ extend ::Google::Protobuf::MessageExts::ClassMethods
265
+ end
266
+
267
+ # Metadata type for the operation returned by
268
+ # {::Google::Cloud::Bigtable::Admin::V2::BigtableTableAdmin::Client#undelete_table google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable}.
269
+ # @!attribute [rw] name
270
+ # @return [::String]
271
+ # The name of the table being restored.
272
+ # @!attribute [rw] start_time
273
+ # @return [::Google::Protobuf::Timestamp]
274
+ # The time at which this operation started.
275
+ # @!attribute [rw] end_time
276
+ # @return [::Google::Protobuf::Timestamp]
277
+ # If set, the time at which this operation finished or was cancelled.
278
+ class UndeleteTableMetadata
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
255
283
  # Request message for
256
284
  # {::Google::Cloud::Bigtable::Admin::V2::BigtableTableAdmin::Client#modify_column_families google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies}
257
285
  # @!attribute [rw] name
@@ -26,7 +26,7 @@ module Google
26
26
  # the resources that serve them.
27
27
  # All tables in an instance are served from all
28
28
  # {::Google::Cloud::Bigtable::Admin::V2::Cluster Clusters} in the instance.
29
- # @!attribute [r] name
29
+ # @!attribute [rw] name
30
30
  # @return [::String]
31
31
  # The unique name of the instance. Values are of the form
32
32
  # `projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9]`.
@@ -98,13 +98,8 @@ module Google
98
98
  # on the cluster.
99
99
  PRODUCTION = 1
100
100
 
101
- # The instance is meant for development and testing purposes only; it has
102
- # no performance or uptime guarantees and is not covered by SLA.
103
- # After a development instance is created, it can be upgraded by
104
- # updating the instance to type `PRODUCTION`. An instance created
105
- # as a production instance cannot be changed to a development instance.
106
- # When creating a development instance, `serve_nodes` on the cluster must
107
- # not be set.
101
+ # DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces
102
+ # a higher minimum node count than DEVELOPMENT.
108
103
  DEVELOPMENT = 2
109
104
  end
110
105
  end
@@ -116,6 +111,14 @@ module Google
116
111
  # This number is on a scale from 0 (no utilization) to
117
112
  # 100 (total utilization), and is limited between 10 and 80, otherwise it
118
113
  # will return INVALID_ARGUMENT error.
114
+ # @!attribute [rw] storage_utilization_gib_per_node
115
+ # @return [::Integer]
116
+ # The storage utilization that the Autoscaler should be trying to achieve.
117
+ # This number is limited between 2560 (2.5TiB) and 5120 (5TiB) for a SSD
118
+ # cluster and between 8192 (8TiB) and 16384 (16TiB) for an HDD cluster;
119
+ # otherwise it will return INVALID_ARGUMENT error. If this value is set to 0,
120
+ # it will be treated as if it were set to the default value: 2560 for SSD,
121
+ # 8192 for HDD.
119
122
  class AutoscalingTargets
120
123
  include ::Google::Protobuf::MessageExts
121
124
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -136,20 +139,19 @@ module Google
136
139
  # A resizable group of nodes in a particular cloud location, capable
137
140
  # of serving all {::Google::Cloud::Bigtable::Admin::V2::Table Tables} in the parent
138
141
  # {::Google::Cloud::Bigtable::Admin::V2::Instance Instance}.
139
- # @!attribute [r] name
142
+ # @!attribute [rw] name
140
143
  # @return [::String]
141
144
  # The unique name of the cluster. Values are of the form
142
145
  # `projects/{project}/instances/{instance}/clusters/[a-z][-a-z0-9]*`.
143
146
  # @!attribute [rw] location
144
147
  # @return [::String]
145
- # (`CreationOnly`)
146
- # The location where this cluster's nodes and storage reside. For best
148
+ # Immutable. The location where this cluster's nodes and storage reside. For best
147
149
  # performance, clients should be located as close as possible to this
148
150
  # cluster. Currently only zones are supported, so values should be of the
149
151
  # form `projects/{project}/locations/{zone}`.
150
152
  # @!attribute [r] state
151
153
  # @return [::Google::Cloud::Bigtable::Admin::V2::Cluster::State]
152
- # The current state of the cluster.
154
+ # Output only. The current state of the cluster.
153
155
  # @!attribute [rw] serve_nodes
154
156
  # @return [::Integer]
155
157
  # The number of nodes allocated to this cluster. More nodes enable higher
@@ -159,8 +161,7 @@ module Google
159
161
  # Configuration for this cluster.
160
162
  # @!attribute [rw] default_storage_type
161
163
  # @return [::Google::Cloud::Bigtable::Admin::V2::StorageType]
162
- # (`CreationOnly`)
163
- # The type of storage used by this cluster to serve its
164
+ # Immutable. The type of storage used by this cluster to serve its
164
165
  # parent instance's tables, unless explicitly overridden.
165
166
  # @!attribute [rw] encryption_config
166
167
  # @return [::Google::Cloud::Bigtable::Admin::V2::Cluster::EncryptionConfig]
@@ -201,6 +202,9 @@ module Google
201
202
  # `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key.
202
203
  # 2) Only regional keys can be used and the region of the CMEK key must
203
204
  # match the region of the cluster.
205
+ # 3) All clusters within an instance must use the same CMEK key.
206
+ # Values are of the form
207
+ # `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}`
204
208
  class EncryptionConfig
205
209
  include ::Google::Protobuf::MessageExts
206
210
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -236,7 +240,6 @@ module Google
236
240
  # from a particular end user application.
237
241
  # @!attribute [rw] name
238
242
  # @return [::String]
239
- # (`OutputOnly`)
240
243
  # The unique name of the app profile. Values are of the form
241
244
  # `projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
242
245
  # @!attribute [rw] etag
@@ -251,7 +254,7 @@ module Google
251
254
  # details.
252
255
  # @!attribute [rw] description
253
256
  # @return [::String]
254
- # Optional long form description of the use case for this AppProfile.
257
+ # Long form description of the use case for this AppProfile.
255
258
  # @!attribute [rw] multi_cluster_routing_use_any
256
259
  # @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny]
257
260
  # Use a multi-cluster routing policy.
@@ -42,7 +42,7 @@ module Google
42
42
  # The unique name of the table. Values are of the form
43
43
  # `projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
44
44
  # Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`
45
- # @!attribute [rw] cluster_states
45
+ # @!attribute [r] cluster_states
46
46
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState}]
47
47
  # Output only. Map from cluster ID to per-cluster table state.
48
48
  # If it could not be determined whether or not the table has data in a
@@ -51,26 +51,24 @@ module Google
51
51
  # Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL`
52
52
  # @!attribute [rw] column_families
53
53
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::ColumnFamily}]
54
- # (`CreationOnly`)
55
54
  # The column families configured for this table, mapped by column family ID.
56
55
  # Views: `SCHEMA_VIEW`, `FULL`
57
56
  # @!attribute [rw] granularity
58
57
  # @return [::Google::Cloud::Bigtable::Admin::V2::Table::TimestampGranularity]
59
- # (`CreationOnly`)
60
- # The granularity (i.e. `MILLIS`) at which timestamps are stored in
61
- # this table. Timestamps not matching the granularity will be rejected.
58
+ # Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this
59
+ # table. Timestamps not matching the granularity will be rejected.
62
60
  # If unspecified at creation time, the value will be set to `MILLIS`.
63
61
  # Views: `SCHEMA_VIEW`, `FULL`.
64
- # @!attribute [rw] restore_info
62
+ # @!attribute [r] restore_info
65
63
  # @return [::Google::Cloud::Bigtable::Admin::V2::RestoreInfo]
66
- # Output only. If this table was restored from another data source (e.g. a
67
- # backup), this field will be populated with information about the restore.
64
+ # Output only. If this table was restored from another data source (e.g. a backup), this
65
+ # field will be populated with information about the restore.
68
66
  class Table
69
67
  include ::Google::Protobuf::MessageExts
70
68
  extend ::Google::Protobuf::MessageExts::ClassMethods
71
69
 
72
70
  # The state of a table's data in a particular cluster.
73
- # @!attribute [rw] replication_state
71
+ # @!attribute [r] replication_state
74
72
  # @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
75
73
  # Output only. The state of replication for the table in this cluster.
76
74
  # @!attribute [r] encryption_info
@@ -158,7 +156,7 @@ module Google
158
156
  # state.
159
157
  REPLICATION_VIEW = 3
160
158
 
161
- # Only populates 'name' and fields related to the table's encryption state.
159
+ # Only populates `name` and fields related to the table's encryption state.
162
160
  ENCRYPTION_VIEW = 5
163
161
 
164
162
  # Populates all fields.
@@ -227,13 +225,12 @@ module Google
227
225
  # Output only. The type of encryption used to protect this resource.
228
226
  # @!attribute [r] encryption_status
229
227
  # @return [::Google::Rpc::Status]
230
- # Output only. The status of encrypt/decrypt calls on underlying data for
231
- # this resource. Regardless of status, the existing data is always encrypted
232
- # at rest.
228
+ # Output only. The status of encrypt/decrypt calls on underlying data for this resource.
229
+ # Regardless of status, the existing data is always encrypted at rest.
233
230
  # @!attribute [r] kms_key_version
234
231
  # @return [::String]
235
- # Output only. The version of the Cloud KMS key specified in the parent
236
- # cluster that is in use for the data underlying this table.
232
+ # Output only. The version of the Cloud KMS key specified in the parent cluster that is
233
+ # in use for the data underlying this table.
237
234
  class EncryptionInfo
238
235
  include ::Google::Protobuf::MessageExts
239
236
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -314,9 +311,9 @@ module Google
314
311
  end
315
312
 
316
313
  # A backup of a Cloud Bigtable table.
317
- # @!attribute [r] name
314
+ # @!attribute [rw] name
318
315
  # @return [::String]
319
- # Output only. A globally unique identifier for the backup which cannot be
316
+ # A globally unique identifier for the backup which cannot be
320
317
  # changed. Values are of the form
321
318
  # `projects/{project}/instances/{instance}/clusters/{cluster}/
322
319
  # backups/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`
@@ -328,8 +325,8 @@ module Google
328
325
  # `projects/{project}/instances/{instance}/clusters/{cluster}`.
329
326
  # @!attribute [rw] source_table
330
327
  # @return [::String]
331
- # Required. Immutable. Name of the table from which this backup was created.
332
- # This needs to be in the same instance as the backup. Values are of the form
328
+ # Required. Immutable. Name of the table from which this backup was created. This needs
329
+ # to be in the same instance as the backup. Values are of the form
333
330
  # `projects/{project}/instances/{instance}/tables/{source_table}`.
334
331
  # @!attribute [rw] expire_time
335
332
  # @return [::Google::Protobuf::Timestamp]
@@ -342,9 +339,8 @@ module Google
342
339
  # @return [::Google::Protobuf::Timestamp]
343
340
  # Output only. `start_time` is the time that the backup was started
344
341
  # (i.e. approximately the time the
345
- # {::Google::Cloud::Bigtable::Admin::V2::BigtableTableAdmin::Client#create_backup CreateBackup}
346
- # request is received). The row data in this backup will be no older than
347
- # this timestamp.
342
+ # {::Google::Cloud::Bigtable::Admin::V2::BigtableTableAdmin::Client#create_backup CreateBackup} request is received). The
343
+ # row data in this backup will be no older than this timestamp.
348
344
  # @!attribute [r] end_time
349
345
  # @return [::Google::Protobuf::Timestamp]
350
346
  # Output only. `end_time` is the time that the backup was finished. The row
@@ -31,6 +31,13 @@ module Google
31
31
  # the policy is limited to a few 10s of KB. An empty policy is a
32
32
  # valid policy but certain Cloud Platform services (such as Projects)
33
33
  # might reject them.
34
+ # @!attribute [rw] update_mask
35
+ # @return [::Google::Protobuf::FieldMask]
36
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
37
+ # the fields in the mask will be modified. If no mask is provided, the
38
+ # following default mask is used:
39
+ #
40
+ # `paths: "bindings, etag"`
34
41
  class SetIamPolicyRequest
35
42
  include ::Google::Protobuf::MessageExts
36
43
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -44,7 +51,7 @@ module Google
44
51
  # @!attribute [rw] options
45
52
  # @return [::Google::Iam::V1::GetPolicyOptions]
46
53
  # OPTIONAL: A `GetPolicyOptions` object for specifying options to
47
- # `GetIamPolicy`. This field is only used by Cloud IAM.
54
+ # `GetIamPolicy`.
48
55
  class GetIamPolicyRequest
49
56
  include ::Google::Protobuf::MessageExts
50
57
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -23,14 +23,24 @@ module Google
23
23
  # Encapsulates settings provided to GetIamPolicy.
24
24
  # @!attribute [rw] requested_policy_version
25
25
  # @return [::Integer]
26
- # Optional. The policy format version to be returned.
26
+ # Optional. The maximum policy version that will be used to format the
27
+ # policy.
27
28
  #
28
29
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
29
30
  # rejected.
30
31
  #
31
- # Requests for policies with any conditional bindings must specify version 3.
32
- # Policies without any conditional bindings may specify any valid value or
33
- # leave the field unset.
32
+ # Requests for policies with any conditional role bindings must specify
33
+ # version 3. Policies with no conditional role bindings may specify any valid
34
+ # value or leave the field unset.
35
+ #
36
+ # The policy in the response might use the policy version that you specified,
37
+ # or it might use a lower policy version. For example, if you specify version
38
+ # 3, but the policy has no conditional role bindings, the response uses
39
+ # version 1.
40
+ #
41
+ # To learn which resources support conditions in their IAM policies, see the
42
+ # [IAM
43
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
34
44
  class GetPolicyOptions
35
45
  include ::Google::Protobuf::MessageExts
36
46
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -20,19 +20,24 @@
20
20
  module Google
21
21
  module Iam
22
22
  module V1
23
- # Defines an Identity and Access Management (IAM) policy. It is used to
24
- # specify access control policies for Cloud Platform resources.
23
+ # An Identity and Access Management (IAM) policy, which specifies access
24
+ # controls for Google Cloud resources.
25
25
  #
26
26
  #
27
27
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
28
- # `members` to a single `role`. Members can be user accounts, service accounts,
29
- # Google groups, and domains (such as G Suite). A `role` is a named list of
30
- # permissions (defined by IAM or configured by users). A `binding` can
31
- # optionally specify a `condition`, which is a logic expression that further
32
- # constrains the role binding based on attributes about the request and/or
33
- # target resource.
28
+ # `members`, or principals, to a single `role`. Principals can be user
29
+ # accounts, service accounts, Google groups, and domains (such as G Suite). A
30
+ # `role` is a named list of permissions; each `role` can be an IAM predefined
31
+ # role or a user-created custom role.
34
32
  #
35
- # **JSON Example**
33
+ # For some types of Google Cloud resources, a `binding` can also specify a
34
+ # `condition`, which is a logical expression that allows access to a resource
35
+ # only if the expression evaluates to `true`. A condition can add constraints
36
+ # based on attributes of the request, the resource, or both. To learn which
37
+ # resources support conditions in their IAM policies, see the
38
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
39
+ #
40
+ # **JSON example:**
36
41
  #
37
42
  # {
38
43
  # "bindings": [
@@ -47,18 +52,21 @@ module Google
47
52
  # },
48
53
  # {
49
54
  # "role": "roles/resourcemanager.organizationViewer",
50
- # "members": ["user:eve@example.com"],
55
+ # "members": [
56
+ # "user:eve@example.com"
57
+ # ],
51
58
  # "condition": {
52
59
  # "title": "expirable access",
53
60
  # "description": "Does not grant access after Sep 2020",
54
- # "expression": "request.time <
55
- # timestamp('2020-10-01T00:00:00.000Z')",
61
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
56
62
  # }
57
63
  # }
58
- # ]
64
+ # ],
65
+ # "etag": "BwWWja0YfJA=",
66
+ # "version": 3
59
67
  # }
60
68
  #
61
- # **YAML Example**
69
+ # **YAML example:**
62
70
  #
63
71
  # bindings:
64
72
  # - members:
@@ -74,30 +82,52 @@ module Google
74
82
  # title: expirable access
75
83
  # description: Does not grant access after Sep 2020
76
84
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
85
+ # etag: BwWWja0YfJA=
86
+ # version: 3
77
87
  #
78
88
  # For a description of IAM and its features, see the
79
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
89
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
80
90
  # @!attribute [rw] version
81
91
  # @return [::Integer]
82
92
  # Specifies the format of the policy.
83
93
  #
84
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
85
- # rejected.
94
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
95
+ # are rejected.
96
+ #
97
+ # Any operation that affects conditional role bindings must specify version
98
+ # `3`. This requirement applies to the following operations:
86
99
  #
87
- # Operations affecting conditional bindings must specify version 3. This can
88
- # be either setting a conditional policy, modifying a conditional binding,
89
- # or removing a binding (conditional or unconditional) from the stored
90
- # conditional policy.
91
- # Operations on non-conditional policies may specify any valid value or
92
- # leave the field unset.
100
+ # * Getting a policy that includes a conditional role binding
101
+ # * Adding a conditional role binding to a policy
102
+ # * Changing a conditional role binding in a policy
103
+ # * Removing any role binding, with or without a condition, from a policy
104
+ # that includes conditions
93
105
  #
94
- # If no etag is provided in the call to `setIamPolicy`, version compliance
95
- # checks against the stored policy is skipped.
106
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
107
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
108
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
109
+ # the conditions in the version `3` policy are lost.
110
+ #
111
+ # If a policy does not include any conditions, operations on that policy may
112
+ # specify any valid version or leave the field unset.
113
+ #
114
+ # To learn which resources support conditions in their IAM policies, see the
115
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
96
116
  # @!attribute [rw] bindings
97
117
  # @return [::Array<::Google::Iam::V1::Binding>]
98
- # Associates a list of `members` to a `role`. Optionally may specify a
99
- # `condition` that determines when binding is in effect.
100
- # `bindings` with no members will result in an error.
118
+ # Associates a list of `members`, or principals, with a `role`. Optionally,
119
+ # may specify a `condition` that determines how and when the `bindings` are
120
+ # applied. Each of the `bindings` must contain at least one principal.
121
+ #
122
+ # The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
123
+ # of these principals can be Google groups. Each occurrence of a principal
124
+ # counts towards these limits. For example, if the `bindings` grant 50
125
+ # different roles to `user:alice@example.com`, and not to any other
126
+ # principal, then you can add another 1,450 principals to the `bindings` in
127
+ # the `Policy`.
128
+ # @!attribute [rw] audit_configs
129
+ # @return [::Array<::Google::Iam::V1::AuditConfig>]
130
+ # Specifies cloud audit logging configuration for this policy.
101
131
  # @!attribute [rw] etag
102
132
  # @return [::String]
103
133
  # `etag` is used for optimistic concurrency control as a way to help
@@ -108,23 +138,23 @@ module Google
108
138
  # systems are expected to put that etag in the request to `setIamPolicy` to
109
139
  # ensure that their change will be applied to the same version of the policy.
110
140
  #
111
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
112
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
113
- # 'setIamPolicy' will not fail even if the incoming policy version does not
114
- # meet the requirements for modifying the stored policy.
141
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
142
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
143
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
144
+ # the conditions in the version `3` policy are lost.
115
145
  class Policy
116
146
  include ::Google::Protobuf::MessageExts
117
147
  extend ::Google::Protobuf::MessageExts::ClassMethods
118
148
  end
119
149
 
120
- # Associates `members` with a `role`.
150
+ # Associates `members`, or principals, with a `role`.
121
151
  # @!attribute [rw] role
122
152
  # @return [::String]
123
- # Role that is assigned to `members`.
153
+ # Role that is assigned to the list of `members`, or principals.
124
154
  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
125
155
  # @!attribute [rw] members
126
156
  # @return [::Array<::String>]
127
- # Specifies the identities requesting access for a Cloud Platform resource.
157
+ # Specifies the principals requesting access for a Cloud Platform resource.
128
158
  # `members` can have the following values:
129
159
  #
130
160
  # * `allUsers`: A special identifier that represents anyone who is
@@ -143,20 +173,160 @@ module Google
143
173
  # * `group:{emailid}`: An email address that represents a Google group.
144
174
  # For example, `admins@example.com`.
145
175
  #
176
+ # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
177
+ # identifier) representing a user that has been recently deleted. For
178
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
179
+ # recovered, this value reverts to `user:{emailid}` and the recovered user
180
+ # retains the role in the binding.
181
+ #
182
+ # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
183
+ # unique identifier) representing a service account that has been recently
184
+ # deleted. For example,
185
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
186
+ # If the service account is undeleted, this value reverts to
187
+ # `serviceAccount:{emailid}` and the undeleted service account retains the
188
+ # role in the binding.
189
+ #
190
+ # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
191
+ # identifier) representing a Google group that has been recently
192
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
193
+ # the group is recovered, this value reverts to `group:{emailid}` and the
194
+ # recovered group retains the role in the binding.
195
+ #
146
196
  #
147
197
  # * `domain:{domain}`: The G Suite domain (primary) that represents all the
148
198
  # users of that domain. For example, `google.com` or `example.com`.
149
199
  # @!attribute [rw] condition
150
200
  # @return [::Google::Type::Expr]
151
201
  # The condition that is associated with this binding.
152
- # NOTE: An unsatisfied condition will not allow user access via current
153
- # binding. Different bindings, including their conditions, are examined
154
- # independently.
202
+ #
203
+ # If the condition evaluates to `true`, then this binding applies to the
204
+ # current request.
205
+ #
206
+ # If the condition evaluates to `false`, then this binding does not apply to
207
+ # the current request. However, a different role binding might grant the same
208
+ # role to one or more of the principals in this binding.
209
+ #
210
+ # To learn which resources support conditions in their IAM policies, see the
211
+ # [IAM
212
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
155
213
  class Binding
156
214
  include ::Google::Protobuf::MessageExts
157
215
  extend ::Google::Protobuf::MessageExts::ClassMethods
158
216
  end
159
217
 
218
+ # Specifies the audit configuration for a service.
219
+ # The configuration determines which permission types are logged, and what
220
+ # identities, if any, are exempted from logging.
221
+ # An AuditConfig must have one or more AuditLogConfigs.
222
+ #
223
+ # If there are AuditConfigs for both `allServices` and a specific service,
224
+ # the union of the two AuditConfigs is used for that service: the log_types
225
+ # specified in each AuditConfig are enabled, and the exempted_members in each
226
+ # AuditLogConfig are exempted.
227
+ #
228
+ # Example Policy with multiple AuditConfigs:
229
+ #
230
+ # {
231
+ # "audit_configs": [
232
+ # {
233
+ # "service": "allServices",
234
+ # "audit_log_configs": [
235
+ # {
236
+ # "log_type": "DATA_READ",
237
+ # "exempted_members": [
238
+ # "user:jose@example.com"
239
+ # ]
240
+ # },
241
+ # {
242
+ # "log_type": "DATA_WRITE"
243
+ # },
244
+ # {
245
+ # "log_type": "ADMIN_READ"
246
+ # }
247
+ # ]
248
+ # },
249
+ # {
250
+ # "service": "sampleservice.googleapis.com",
251
+ # "audit_log_configs": [
252
+ # {
253
+ # "log_type": "DATA_READ"
254
+ # },
255
+ # {
256
+ # "log_type": "DATA_WRITE",
257
+ # "exempted_members": [
258
+ # "user:aliya@example.com"
259
+ # ]
260
+ # }
261
+ # ]
262
+ # }
263
+ # ]
264
+ # }
265
+ #
266
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
267
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
268
+ # aliya@example.com from DATA_WRITE logging.
269
+ # @!attribute [rw] service
270
+ # @return [::String]
271
+ # Specifies a service that will be enabled for audit logging.
272
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
273
+ # `allServices` is a special value that covers all services.
274
+ # @!attribute [rw] audit_log_configs
275
+ # @return [::Array<::Google::Iam::V1::AuditLogConfig>]
276
+ # The configuration for logging of each type of permission.
277
+ class AuditConfig
278
+ include ::Google::Protobuf::MessageExts
279
+ extend ::Google::Protobuf::MessageExts::ClassMethods
280
+ end
281
+
282
+ # Provides the configuration for logging a type of permissions.
283
+ # Example:
284
+ #
285
+ # {
286
+ # "audit_log_configs": [
287
+ # {
288
+ # "log_type": "DATA_READ",
289
+ # "exempted_members": [
290
+ # "user:jose@example.com"
291
+ # ]
292
+ # },
293
+ # {
294
+ # "log_type": "DATA_WRITE"
295
+ # }
296
+ # ]
297
+ # }
298
+ #
299
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
300
+ # jose@example.com from DATA_READ logging.
301
+ # @!attribute [rw] log_type
302
+ # @return [::Google::Iam::V1::AuditLogConfig::LogType]
303
+ # The log type that this config enables.
304
+ # @!attribute [rw] exempted_members
305
+ # @return [::Array<::String>]
306
+ # Specifies the identities that do not cause logging for this type of
307
+ # permission.
308
+ # Follows the same format of {::Google::Iam::V1::Binding#members Binding.members}.
309
+ class AuditLogConfig
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+
313
+ # The list of valid permission types for which logging can be configured.
314
+ # Admin writes are always logged, and are not configurable.
315
+ module LogType
316
+ # Default case. Should never be this.
317
+ LOG_TYPE_UNSPECIFIED = 0
318
+
319
+ # Admin reads. Example: CloudIAM getIamPolicy
320
+ ADMIN_READ = 1
321
+
322
+ # Data writes. Example: CloudSQL Users create
323
+ DATA_WRITE = 2
324
+
325
+ # Data reads. Example: CloudSQL Users list
326
+ DATA_READ = 3
327
+ end
328
+ end
329
+
160
330
  # The difference delta between two policies.
161
331
  # @!attribute [rw] binding_deltas
162
332
  # @return [::Array<::Google::Iam::V1::BindingDelta>]
@@ -44,7 +44,7 @@ module Google
44
44
  # foo = any.unpack(Foo.class);
45
45
  # }
46
46
  #
47
- # Example 3: Pack and unpack a message in Python.
47
+ # Example 3: Pack and unpack a message in Python.
48
48
  #
49
49
  # foo = Foo(...)
50
50
  # any = Any()
@@ -54,7 +54,7 @@ module Google
54
54
  # any.Unpack(foo)
55
55
  # ...
56
56
  #
57
- # Example 4: Pack and unpack a message in Go
57
+ # Example 4: Pack and unpack a message in Go
58
58
  #
59
59
  # foo := &pb.Foo{...}
60
60
  # any, err := anypb.New(foo)
@@ -75,7 +75,7 @@ module Google
75
75
  #
76
76
  #
77
77
  # JSON
78
- # ====
78
+ #
79
79
  # The JSON representation of an `Any` value uses the regular
80
80
  # representation of the deserialized, embedded message, with an
81
81
  # additional field `@type` which contains the type URL. Example:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-bigtable-admin-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-31 00:00:00.000000000 Z
11
+ date: 2022-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -48,22 +48,16 @@ dependencies:
48
48
  name: grpc-google-iam-v1
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 0.6.10
54
- - - "<"
51
+ - - "~>"
55
52
  - !ruby/object:Gem::Version
56
- version: 2.a
53
+ version: '1.1'
57
54
  type: :runtime
58
55
  prerelease: false
59
56
  version_requirements: !ruby/object:Gem::Requirement
60
57
  requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: 0.6.10
64
- - - "<"
58
+ - - "~>"
65
59
  - !ruby/object:Gem::Version
66
- version: 2.a
60
+ version: '1.1'
67
61
  - !ruby/object:Gem::Dependency
68
62
  name: google-style
69
63
  requirement: !ruby/object:Gem::Requirement
@@ -247,7 +241,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
241
  - !ruby/object:Gem::Version
248
242
  version: '0'
249
243
  requirements: []
250
- rubygems_version: 3.3.5
244
+ rubygems_version: 3.3.14
251
245
  signing_key:
252
246
  specification_version: 4
253
247
  summary: API Client library for the Cloud Bigtable Admin V2 API