google-api-client 0.26.0 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1 -1
  5. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  6. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  7. data/generated/google/apis/androidenterprise_v1/classes.rb +78 -0
  8. data/generated/google/apis/androidenterprise_v1/representations.rb +34 -0
  9. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  10. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +3 -11
  11. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +2 -2
  12. data/generated/google/apis/bigtableadmin_v2.rb +58 -0
  13. data/generated/google/apis/bigtableadmin_v2/classes.rb +1661 -0
  14. data/generated/google/apis/bigtableadmin_v2/representations.rb +703 -0
  15. data/generated/google/apis/bigtableadmin_v2/service.rb +1181 -0
  16. data/generated/google/apis/cloudbuild_v1alpha1.rb +34 -0
  17. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1158 -0
  18. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +432 -0
  19. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +223 -0
  20. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  21. data/generated/google/apis/cloudfunctions_v1/service.rb +4 -2
  22. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  23. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +4 -2
  24. data/generated/google/apis/compute_alpha.rb +1 -1
  25. data/generated/google/apis/compute_alpha/classes.rb +3 -3
  26. data/generated/google/apis/compute_beta.rb +1 -1
  27. data/generated/google/apis/compute_beta/classes.rb +2 -2
  28. data/generated/google/apis/compute_v1.rb +1 -1
  29. data/generated/google/apis/compute_v1/classes.rb +2 -2
  30. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  31. data/generated/google/apis/dataflow_v1b3/classes.rb +19 -0
  32. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  33. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  34. data/generated/google/apis/dataproc_v1beta2/classes.rb +1 -1
  35. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  36. data/generated/google/apis/deploymentmanager_alpha/classes.rb +44 -36
  37. data/generated/google/apis/deploymentmanager_alpha/representations.rb +1 -0
  38. data/generated/google/apis/deploymentmanager_alpha/service.rb +3 -3
  39. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  40. data/generated/google/apis/deploymentmanager_v2/classes.rb +36 -26
  41. data/generated/google/apis/deploymentmanager_v2/representations.rb +1 -0
  42. data/generated/google/apis/deploymentmanager_v2/service.rb +3 -3
  43. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  44. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +44 -36
  45. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +1 -0
  46. data/generated/google/apis/deploymentmanager_v2beta/service.rb +3 -3
  47. data/generated/google/apis/dialogflow_v2.rb +1 -1
  48. data/generated/google/apis/dialogflow_v2/classes.rb +3 -3
  49. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  50. data/generated/google/apis/dialogflow_v2beta1/classes.rb +3 -3
  51. data/generated/google/apis/dlp_v2.rb +1 -1
  52. data/generated/google/apis/dlp_v2/classes.rb +7 -2
  53. data/generated/google/apis/gmail_v1.rb +1 -1
  54. data/generated/google/apis/gmail_v1/classes.rb +1 -1
  55. data/generated/google/apis/jobs_v3.rb +1 -1
  56. data/generated/google/apis/jobs_v3/classes.rb +14 -0
  57. data/generated/google/apis/jobs_v3/representations.rb +1 -0
  58. data/generated/google/apis/ml_v1.rb +1 -1
  59. data/generated/google/apis/ml_v1/classes.rb +17 -10
  60. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  61. data/generated/google/apis/pagespeedonline_v5/classes.rb +45 -1
  62. data/generated/google/apis/pagespeedonline_v5/representations.rb +23 -1
  63. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  64. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +3 -1
  65. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  66. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +5 -3
  67. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  68. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -1
  69. data/generated/google/apis/testing_v1.rb +1 -1
  70. data/generated/google/apis/testing_v1/classes.rb +140 -215
  71. data/generated/google/apis/testing_v1/service.rb +5 -7
  72. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  73. data/generated/google/apis/texttospeech_v1beta1/classes.rb +4 -0
  74. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  75. data/lib/google/apis/version.rb +1 -1
  76. metadata +10 -6
  77. data/generated/google/apis/replicapoolupdater_v1beta1.rb +0 -45
  78. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +0 -733
  79. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +0 -294
  80. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +0 -488
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55b990afed5c90c188297048064c1057ac82ed47
4
- data.tar.gz: 1bd06f2ed8c22616f98efc8e15980de9029d223d
3
+ metadata.gz: 06d9e23e4485ab48d389ca5ddb46eb1d877a2437
4
+ data.tar.gz: 7128cc79f10442c95aab41854d4fed82cf5bde49
5
5
  SHA512:
6
- metadata.gz: 1d4be3ab9a669e7040707dcd22d0cdfca60201adc4e6a37bd3b9b72ca7727edba35387c0bdc63768d001360a5aa20444f351701186cc648471dae11c73b6c380
7
- data.tar.gz: 498d4bf6425eeabc07632edb6ba72f82dd7b60585322c5237c5ffd7b1c9fe44dd61a70e0086357ab67264003d9416dc58dd01808f70c199d3e1a70e400f7f67a
6
+ metadata.gz: 5600c10dc825d6169969228ed30608cc6f6b32a07a3a2b90b4d3ebeb60fe38d1cc1a078d1d62337a45124999cd54a38066cc285013898a72b39e26d48d0bc5e1
7
+ data.tar.gz: 91cb626a5fd07f7c1f1067cb08f570b42a2620ac0a4ebe3e1101fdfd9b9d0084045a66ab359b56a07c2fc07384f68963b891775bb368320c4261af6268bca162
@@ -1,3 +1,37 @@
1
+ # 0.27.0
2
+ * Breaking changes:
3
+ * Deleted `replicapoolupdater_v1beta1`
4
+ * Backwards compatible changes:
5
+ * Added `bigtableadmin_v2`
6
+ * Added `cloudbuild_v1alpha1`
7
+ * Updated `adexchangebuyer2_v2beta1`
8
+ * Updated `alertcenter_v1beta1`
9
+ * Updated `androidenterprise_v1`
10
+ * Updated `bigquerydatatransfer_v1`
11
+ * Updated `cloudfunctions_v1`
12
+ * Updated `cloudfunctions_v1beta2`
13
+ * Updated `compute_alpha`
14
+ * Updated `compute_beta`
15
+ * Updated `compute_v1`
16
+ * Updated `dataflow_v1b3`
17
+ * Updated `dataproc_v1beta2`
18
+ * Updated `deploymentmanager_alpha`
19
+ * Updated `deploymentmanager_v2`
20
+ * Updated `deploymentmanager_v2beta`
21
+ * Updated `dialogflow_v2`
22
+ * Updated `dialogflow_v2beta1`
23
+ * Updated `dlp_v2`
24
+ * Updated `gmail_v1`
25
+ * Updated `jobs_v3`
26
+ * Updated `ml_v1`
27
+ * Updated `pagespeedonline_v5`
28
+ * Updated `runtimeconfig_v1beta1`
29
+ * Updated `serviceconsumermanagement_v1`
30
+ * Updated `servicemanagement_v1`
31
+ * Updated `testing_v1`
32
+ * Updated `texttospeech_v1beta1`
33
+ * Updated `youtube_partner_v1`
34
+
1
35
  # 0.26.0
2
36
  * Breaking changes:
3
37
  * Deleted `dfareporting_v3_0`
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://developers.google.com/authorized-buyers/apis/reference/rest/
28
28
  module Adexchangebuyer2V2beta1
29
29
  VERSION = 'V2beta1'
30
- REVISION = '20181127'
30
+ REVISION = '20181210'
31
31
 
32
32
  # Manage your Ad Exchange buyer account configuration
33
33
  AUTH_ADEXCHANGE_BUYER = 'https://www.googleapis.com/auth/adexchange.buyer'
@@ -621,7 +621,7 @@ module Google
621
621
  end
622
622
 
623
623
  # A creative and its classification data.
624
- # Next ID: 38
624
+ # Next ID: 39
625
625
  class Creative
626
626
  include Google::Apis::Core::Hashable
627
627
 
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/admin-sdk/alertcenter/
26
26
  module AlertcenterV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20181206'
28
+ REVISION = '20181208'
29
29
 
30
30
  # See and delete your domain's G Suite alerts, and send alert feedback
31
31
  AUTH_APPS_ALERTS = 'https://www.googleapis.com/auth/apps.alerts'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/android/work/play/emm-api
26
26
  module AndroidenterpriseV1
27
27
  VERSION = 'V1'
28
- REVISION = '20181120'
28
+ REVISION = '20181205'
29
29
 
30
30
  # Manage corporate Android devices
31
31
  AUTH_ANDROIDENTERPRISE = 'https://www.googleapis.com/auth/androidenterprise'
@@ -529,6 +529,78 @@ module Google
529
529
  end
530
530
  end
531
531
 
532
+ # The Auto install constraint. Defines a set of restrictions for installation.
533
+ # At least one of the fields must be set.
534
+ class AutoInstallConstraint
535
+ include Google::Apis::Core::Hashable
536
+
537
+ # Charging state to constrain on.
538
+ # Corresponds to the JSON property `chargingStateConstraint`
539
+ # @return [String]
540
+ attr_accessor :charging_state_constraint
541
+
542
+ # The idle state of the device to constrain on.
543
+ # Corresponds to the JSON property `deviceIdleStateConstraint`
544
+ # @return [String]
545
+ attr_accessor :device_idle_state_constraint
546
+
547
+ # Network type to constrain on.
548
+ # Corresponds to the JSON property `networkTypeConstraint`
549
+ # @return [String]
550
+ attr_accessor :network_type_constraint
551
+
552
+ def initialize(**args)
553
+ update!(**args)
554
+ end
555
+
556
+ # Update properties of this object
557
+ def update!(**args)
558
+ @charging_state_constraint = args[:charging_state_constraint] if args.key?(:charging_state_constraint)
559
+ @device_idle_state_constraint = args[:device_idle_state_constraint] if args.key?(:device_idle_state_constraint)
560
+ @network_type_constraint = args[:network_type_constraint] if args.key?(:network_type_constraint)
561
+ end
562
+ end
563
+
564
+ #
565
+ class AutoInstallPolicy
566
+ include Google::Apis::Core::Hashable
567
+
568
+ # The constraints for the install. Currently there can be at most one constraint.
569
+ # Corresponds to the JSON property `autoInstallConstraint`
570
+ # @return [Array<Google::Apis::AndroidenterpriseV1::AutoInstallConstraint>]
571
+ attr_accessor :auto_install_constraint
572
+
573
+ # The auto install mode. If unset defaults to AVAILABLE.
574
+ # Corresponds to the JSON property `autoInstallMode`
575
+ # @return [String]
576
+ attr_accessor :auto_install_mode
577
+
578
+ # The priority of the install, as an unsigned integer. Lower number means higher
579
+ # priority.
580
+ # Corresponds to the JSON property `autoInstallPriority`
581
+ # @return [Fixnum]
582
+ attr_accessor :auto_install_priority
583
+
584
+ # The minimum version of the app. If a lower version of the app is installed
585
+ # then the app will be auto-updated according to the auto-install constraints,
586
+ # instead of waiting for the regular auto-update.
587
+ # Corresponds to the JSON property `minimumVersionCode`
588
+ # @return [Fixnum]
589
+ attr_accessor :minimum_version_code
590
+
591
+ def initialize(**args)
592
+ update!(**args)
593
+ end
594
+
595
+ # Update properties of this object
596
+ def update!(**args)
597
+ @auto_install_constraint = args[:auto_install_constraint] if args.key?(:auto_install_constraint)
598
+ @auto_install_mode = args[:auto_install_mode] if args.key?(:auto_install_mode)
599
+ @auto_install_priority = args[:auto_install_priority] if args.key?(:auto_install_priority)
600
+ @minimum_version_code = args[:minimum_version_code] if args.key?(:minimum_version_code)
601
+ end
602
+ end
603
+
532
604
  # A configuration variables resource contains the managed configuration settings
533
605
  # ID to be applied to a single user, as well as the variable set that is
534
606
  # attributed to the user. The variable set will be used to replace placeholders
@@ -2078,6 +2150,11 @@ module Google
2078
2150
  class ProductPolicy
2079
2151
  include Google::Apis::Core::Hashable
2080
2152
 
2153
+ # The auto install policy for the product.
2154
+ # Corresponds to the JSON property `autoInstallPolicy`
2155
+ # @return [Google::Apis::AndroidenterpriseV1::AutoInstallPolicy]
2156
+ attr_accessor :auto_install_policy
2157
+
2081
2158
  # The ID of the product. For example, "app:com.google.android.gm".
2082
2159
  # Corresponds to the JSON property `productId`
2083
2160
  # @return [String]
@@ -2101,6 +2178,7 @@ module Google
2101
2178
 
2102
2179
  # Update properties of this object
2103
2180
  def update!(**args)
2181
+ @auto_install_policy = args[:auto_install_policy] if args.key?(:auto_install_policy)
2104
2182
  @product_id = args[:product_id] if args.key?(:product_id)
2105
2183
  @track_ids = args[:track_ids] if args.key?(:track_ids)
2106
2184
  @tracks = args[:tracks] if args.key?(:tracks)
@@ -118,6 +118,18 @@ module Google
118
118
  include Google::Apis::Core::JsonObjectSupport
119
119
  end
120
120
 
121
+ class AutoInstallConstraint
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class AutoInstallPolicy
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
121
133
  class ConfigurationVariables
122
134
  class Representation < Google::Apis::Core::JsonRepresentation; end
123
135
 
@@ -636,6 +648,26 @@ module Google
636
648
  end
637
649
  end
638
650
 
651
+ class AutoInstallConstraint
652
+ # @private
653
+ class Representation < Google::Apis::Core::JsonRepresentation
654
+ property :charging_state_constraint, as: 'chargingStateConstraint'
655
+ property :device_idle_state_constraint, as: 'deviceIdleStateConstraint'
656
+ property :network_type_constraint, as: 'networkTypeConstraint'
657
+ end
658
+ end
659
+
660
+ class AutoInstallPolicy
661
+ # @private
662
+ class Representation < Google::Apis::Core::JsonRepresentation
663
+ collection :auto_install_constraint, as: 'autoInstallConstraint', class: Google::Apis::AndroidenterpriseV1::AutoInstallConstraint, decorator: Google::Apis::AndroidenterpriseV1::AutoInstallConstraint::Representation
664
+
665
+ property :auto_install_mode, as: 'autoInstallMode'
666
+ property :auto_install_priority, as: 'autoInstallPriority'
667
+ property :minimum_version_code, as: 'minimumVersionCode'
668
+ end
669
+ end
670
+
639
671
  class ConfigurationVariables
640
672
  # @private
641
673
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1034,6 +1066,8 @@ module Google
1034
1066
  class ProductPolicy
1035
1067
  # @private
1036
1068
  class Representation < Google::Apis::Core::JsonRepresentation
1069
+ property :auto_install_policy, as: 'autoInstallPolicy', class: Google::Apis::AndroidenterpriseV1::AutoInstallPolicy, decorator: Google::Apis::AndroidenterpriseV1::AutoInstallPolicy::Representation
1070
+
1037
1071
  property :product_id, as: 'productId'
1038
1072
  collection :track_ids, as: 'trackIds'
1039
1073
  collection :tracks, as: 'tracks'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/bigquery/
27
27
  module BigquerydatatransferV1
28
28
  VERSION = 'V1'
29
- REVISION = '20181027'
29
+ REVISION = '20181211'
30
30
 
31
31
  # View and manage your data in Google BigQuery
32
32
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -681,7 +681,7 @@ module Google
681
681
 
682
682
  # The resource name of the transfer config.
683
683
  # Transfer config names have the form of
684
- # `projects/`project_id`/location/`region`/transferConfigs/`config_id``.
684
+ # `projects/`project_id`/locations/`region`/transferConfigs/`config_id``.
685
685
  # The name is automatically generated based on the config_id specified in
686
686
  # CreateTransferConfigRequest along with project_id and region. If config_id
687
687
  # is not provided, usually a uuid, even though it is not guaranteed or
@@ -727,11 +727,7 @@ module Google
727
727
  # @return [String]
728
728
  attr_accessor :update_time
729
729
 
730
- # Output only. Unique ID of the user on whose behalf transfer is done.
731
- # Applicable only to data sources that do not support service accounts.
732
- # When set to 0, the data source service account credentials are used.
733
- # May be negative. Note, that this identifier is not stable.
734
- # It may change over time even for the same user.
730
+ # Deprecated. Unique ID of the user on whose behalf transfer is done.
735
731
  # Corresponds to the JSON property `userId`
736
732
  # @return [Fixnum]
737
733
  attr_accessor :user_id
@@ -902,11 +898,7 @@ module Google
902
898
  # @return [String]
903
899
  attr_accessor :update_time
904
900
 
905
- # Output only. Unique ID of the user on whose behalf transfer is done.
906
- # Applicable only to data sources that do not support service accounts.
907
- # When set to 0, the data source service account credentials are used.
908
- # May be negative. Note, that this identifier is not stable.
909
- # It may change over time even for the same user.
901
+ # Deprecated. Unique ID of the user on whose behalf transfer is done.
910
902
  # Corresponds to the JSON property `userId`
911
903
  # @return [Fixnum]
912
904
  attr_accessor :user_id
@@ -509,7 +509,7 @@ module Google
509
509
  # @param [String] name
510
510
  # The resource name of the transfer config.
511
511
  # Transfer config names have the form of
512
- # `projects/`project_id`/location/`region`/transferConfigs/`config_id``.
512
+ # `projects/`project_id`/locations/`region`/transferConfigs/`config_id``.
513
513
  # The name is automatically generated based on the config_id specified in
514
514
  # CreateTransferConfigRequest along with project_id and region. If config_id
515
515
  # is not provided, usually a uuid, even though it is not guaranteed or
@@ -923,7 +923,7 @@ module Google
923
923
  # @param [String] name
924
924
  # The resource name of the transfer config.
925
925
  # Transfer config names have the form of
926
- # `projects/`project_id`/location/`region`/transferConfigs/`config_id``.
926
+ # `projects/`project_id`/locations/`region`/transferConfigs/`config_id``.
927
927
  # The name is automatically generated based on the config_id specified in
928
928
  # CreateTransferConfigRequest along with project_id and region. If config_id
929
929
  # is not provided, usually a uuid, even though it is not guaranteed or
@@ -0,0 +1,58 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/bigtableadmin_v2/service.rb'
16
+ require 'google/apis/bigtableadmin_v2/classes.rb'
17
+ require 'google/apis/bigtableadmin_v2/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Bigtable Admin API
22
+ #
23
+ #
24
+ #
25
+ # @see https://cloud.google.com/bigtable/
26
+ module BigtableadminV2
27
+ VERSION = 'V2'
28
+ REVISION = '20181203'
29
+
30
+ # Administer your Cloud Bigtable tables and clusters
31
+ AUTH_BIGTABLE_ADMIN = 'https://www.googleapis.com/auth/bigtable.admin'
32
+
33
+ # Administer your Cloud Bigtable clusters
34
+ AUTH_BIGTABLE_ADMIN_CLUSTER = 'https://www.googleapis.com/auth/bigtable.admin.cluster'
35
+
36
+ # Administer your Cloud Bigtable clusters
37
+ AUTH_BIGTABLE_ADMIN_INSTANCE = 'https://www.googleapis.com/auth/bigtable.admin.instance'
38
+
39
+ # Administer your Cloud Bigtable tables
40
+ AUTH_BIGTABLE_ADMIN_TABLE = 'https://www.googleapis.com/auth/bigtable.admin.table'
41
+
42
+ # Administer your Cloud Bigtable tables and clusters
43
+ AUTH_CLOUD_BIGTABLE_ADMIN = 'https://www.googleapis.com/auth/cloud-bigtable.admin'
44
+
45
+ # Administer your Cloud Bigtable clusters
46
+ AUTH_CLOUD_BIGTABLE_ADMIN_CLUSTER = 'https://www.googleapis.com/auth/cloud-bigtable.admin.cluster'
47
+
48
+ # Administer your Cloud Bigtable tables
49
+ AUTH_CLOUD_BIGTABLE_ADMIN_TABLE = 'https://www.googleapis.com/auth/cloud-bigtable.admin.table'
50
+
51
+ # View and manage your data across Google Cloud Platform services
52
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
53
+
54
+ # View your data across Google Cloud Platform services
55
+ AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,1661 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module BigtableadminV2
24
+
25
+ # A configuration object describing how Cloud Bigtable should treat traffic
26
+ # from a particular end user application.
27
+ class AppProfile
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Optional long form description of the use case for this AppProfile.
31
+ # Corresponds to the JSON property `description`
32
+ # @return [String]
33
+ attr_accessor :description
34
+
35
+ # Strongly validated etag for optimistic concurrency control. Preserve the
36
+ # value returned from `GetAppProfile` when calling `UpdateAppProfile` to
37
+ # fail the request if there has been a modification in the mean time. The
38
+ # `update_mask` of the request need not include `etag` for this protection
39
+ # to apply.
40
+ # See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and
41
+ # [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for more
42
+ # details.
43
+ # Corresponds to the JSON property `etag`
44
+ # @return [String]
45
+ attr_accessor :etag
46
+
47
+ # Read/write requests may be routed to any cluster in the instance, and will
48
+ # fail over to another cluster in the event of transient errors or delays.
49
+ # Choosing this option sacrifices read-your-writes consistency to improve
50
+ # availability.
51
+ # Corresponds to the JSON property `multiClusterRoutingUseAny`
52
+ # @return [Google::Apis::BigtableadminV2::MultiClusterRoutingUseAny]
53
+ attr_accessor :multi_cluster_routing_use_any
54
+
55
+ # (`OutputOnly`)
56
+ # The unique name of the app profile. Values are of the form
57
+ # `projects/<project>/instances/<instance>/appProfiles/_a-zA-Z0-9*`.
58
+ # Corresponds to the JSON property `name`
59
+ # @return [String]
60
+ attr_accessor :name
61
+
62
+ # Unconditionally routes all read/write requests to a specific cluster.
63
+ # This option preserves read-your-writes consistency, but does not improve
64
+ # availability.
65
+ # Corresponds to the JSON property `singleClusterRouting`
66
+ # @return [Google::Apis::BigtableadminV2::SingleClusterRouting]
67
+ attr_accessor :single_cluster_routing
68
+
69
+ def initialize(**args)
70
+ update!(**args)
71
+ end
72
+
73
+ # Update properties of this object
74
+ def update!(**args)
75
+ @description = args[:description] if args.key?(:description)
76
+ @etag = args[:etag] if args.key?(:etag)
77
+ @multi_cluster_routing_use_any = args[:multi_cluster_routing_use_any] if args.key?(:multi_cluster_routing_use_any)
78
+ @name = args[:name] if args.key?(:name)
79
+ @single_cluster_routing = args[:single_cluster_routing] if args.key?(:single_cluster_routing)
80
+ end
81
+ end
82
+
83
+ # Specifies the audit configuration for a service.
84
+ # The configuration determines which permission types are logged, and what
85
+ # identities, if any, are exempted from logging.
86
+ # An AuditConfig must have one or more AuditLogConfigs.
87
+ # If there are AuditConfigs for both `allServices` and a specific service,
88
+ # the union of the two AuditConfigs is used for that service: the log_types
89
+ # specified in each AuditConfig are enabled, and the exempted_members in each
90
+ # AuditLogConfig are exempted.
91
+ # Example Policy with multiple AuditConfigs:
92
+ # `
93
+ # "audit_configs": [
94
+ # `
95
+ # "service": "allServices"
96
+ # "audit_log_configs": [
97
+ # `
98
+ # "log_type": "DATA_READ",
99
+ # "exempted_members": [
100
+ # "user:foo@gmail.com"
101
+ # ]
102
+ # `,
103
+ # `
104
+ # "log_type": "DATA_WRITE",
105
+ # `,
106
+ # `
107
+ # "log_type": "ADMIN_READ",
108
+ # `
109
+ # ]
110
+ # `,
111
+ # `
112
+ # "service": "fooservice.googleapis.com"
113
+ # "audit_log_configs": [
114
+ # `
115
+ # "log_type": "DATA_READ",
116
+ # `,
117
+ # `
118
+ # "log_type": "DATA_WRITE",
119
+ # "exempted_members": [
120
+ # "user:bar@gmail.com"
121
+ # ]
122
+ # `
123
+ # ]
124
+ # `
125
+ # ]
126
+ # `
127
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
128
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
129
+ # bar@gmail.com from DATA_WRITE logging.
130
+ class AuditConfig
131
+ include Google::Apis::Core::Hashable
132
+
133
+ # The configuration for logging of each type of permission.
134
+ # Corresponds to the JSON property `auditLogConfigs`
135
+ # @return [Array<Google::Apis::BigtableadminV2::AuditLogConfig>]
136
+ attr_accessor :audit_log_configs
137
+
138
+ # Specifies a service that will be enabled for audit logging.
139
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
140
+ # `allServices` is a special value that covers all services.
141
+ # Corresponds to the JSON property `service`
142
+ # @return [String]
143
+ attr_accessor :service
144
+
145
+ def initialize(**args)
146
+ update!(**args)
147
+ end
148
+
149
+ # Update properties of this object
150
+ def update!(**args)
151
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
152
+ @service = args[:service] if args.key?(:service)
153
+ end
154
+ end
155
+
156
+ # Provides the configuration for logging a type of permissions.
157
+ # Example:
158
+ # `
159
+ # "audit_log_configs": [
160
+ # `
161
+ # "log_type": "DATA_READ",
162
+ # "exempted_members": [
163
+ # "user:foo@gmail.com"
164
+ # ]
165
+ # `,
166
+ # `
167
+ # "log_type": "DATA_WRITE",
168
+ # `
169
+ # ]
170
+ # `
171
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
172
+ # foo@gmail.com from DATA_READ logging.
173
+ class AuditLogConfig
174
+ include Google::Apis::Core::Hashable
175
+
176
+ # Specifies the identities that do not cause logging for this type of
177
+ # permission.
178
+ # Follows the same format of Binding.members.
179
+ # Corresponds to the JSON property `exemptedMembers`
180
+ # @return [Array<String>]
181
+ attr_accessor :exempted_members
182
+
183
+ # The log type that this config enables.
184
+ # Corresponds to the JSON property `logType`
185
+ # @return [String]
186
+ attr_accessor :log_type
187
+
188
+ def initialize(**args)
189
+ update!(**args)
190
+ end
191
+
192
+ # Update properties of this object
193
+ def update!(**args)
194
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
195
+ @log_type = args[:log_type] if args.key?(:log_type)
196
+ end
197
+ end
198
+
199
+ # Associates `members` with a `role`.
200
+ class Binding
201
+ include Google::Apis::Core::Hashable
202
+
203
+ # Represents an expression text. Example:
204
+ # title: "User account presence"
205
+ # description: "Determines whether the request has a user account"
206
+ # expression: "size(request.user) > 0"
207
+ # Corresponds to the JSON property `condition`
208
+ # @return [Google::Apis::BigtableadminV2::Expr]
209
+ attr_accessor :condition
210
+
211
+ # Specifies the identities requesting access for a Cloud Platform resource.
212
+ # `members` can have the following values:
213
+ # * `allUsers`: A special identifier that represents anyone who is
214
+ # on the internet; with or without a Google account.
215
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
216
+ # who is authenticated with a Google account or a service account.
217
+ # * `user:`emailid``: An email address that represents a specific Google
218
+ # account. For example, `alice@gmail.com` .
219
+ # * `serviceAccount:`emailid``: An email address that represents a service
220
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
221
+ # * `group:`emailid``: An email address that represents a Google group.
222
+ # For example, `admins@example.com`.
223
+ # * `domain:`domain``: A Google Apps domain name that represents all the
224
+ # users of that domain. For example, `google.com` or `example.com`.
225
+ # Corresponds to the JSON property `members`
226
+ # @return [Array<String>]
227
+ attr_accessor :members
228
+
229
+ # Role that is assigned to `members`.
230
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
231
+ # Corresponds to the JSON property `role`
232
+ # @return [String]
233
+ attr_accessor :role
234
+
235
+ def initialize(**args)
236
+ update!(**args)
237
+ end
238
+
239
+ # Update properties of this object
240
+ def update!(**args)
241
+ @condition = args[:condition] if args.key?(:condition)
242
+ @members = args[:members] if args.key?(:members)
243
+ @role = args[:role] if args.key?(:role)
244
+ end
245
+ end
246
+
247
+ # Request message for
248
+ # google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency
249
+ class CheckConsistencyRequest
250
+ include Google::Apis::Core::Hashable
251
+
252
+ # The token created using GenerateConsistencyToken for the Table.
253
+ # Corresponds to the JSON property `consistencyToken`
254
+ # @return [String]
255
+ attr_accessor :consistency_token
256
+
257
+ def initialize(**args)
258
+ update!(**args)
259
+ end
260
+
261
+ # Update properties of this object
262
+ def update!(**args)
263
+ @consistency_token = args[:consistency_token] if args.key?(:consistency_token)
264
+ end
265
+ end
266
+
267
+ # Response message for
268
+ # google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency
269
+ class CheckConsistencyResponse
270
+ include Google::Apis::Core::Hashable
271
+
272
+ # True only if the token is consistent. A token is consistent if replication
273
+ # has caught up with the restrictions specified in the request.
274
+ # Corresponds to the JSON property `consistent`
275
+ # @return [Boolean]
276
+ attr_accessor :consistent
277
+ alias_method :consistent?, :consistent
278
+
279
+ def initialize(**args)
280
+ update!(**args)
281
+ end
282
+
283
+ # Update properties of this object
284
+ def update!(**args)
285
+ @consistent = args[:consistent] if args.key?(:consistent)
286
+ end
287
+ end
288
+
289
+ # A resizable group of nodes in a particular cloud location, capable
290
+ # of serving all Tables in the parent
291
+ # Instance.
292
+ class Cluster
293
+ include Google::Apis::Core::Hashable
294
+
295
+ # (`CreationOnly`)
296
+ # The type of storage used by this cluster to serve its
297
+ # parent instance's tables, unless explicitly overridden.
298
+ # Corresponds to the JSON property `defaultStorageType`
299
+ # @return [String]
300
+ attr_accessor :default_storage_type
301
+
302
+ # (`CreationOnly`)
303
+ # The location where this cluster's nodes and storage reside. For best
304
+ # performance, clients should be located as close as possible to this
305
+ # cluster. Currently only zones are supported, so values should be of the
306
+ # form `projects/<project>/locations/<zone>`.
307
+ # Corresponds to the JSON property `location`
308
+ # @return [String]
309
+ attr_accessor :location
310
+
311
+ # (`OutputOnly`)
312
+ # The unique name of the cluster. Values are of the form
313
+ # `projects/<project>/instances/<instance>/clusters/a-z*`.
314
+ # Corresponds to the JSON property `name`
315
+ # @return [String]
316
+ attr_accessor :name
317
+
318
+ # The number of nodes allocated to this cluster. More nodes enable higher
319
+ # throughput and more consistent performance.
320
+ # Corresponds to the JSON property `serveNodes`
321
+ # @return [Fixnum]
322
+ attr_accessor :serve_nodes
323
+
324
+ # (`OutputOnly`)
325
+ # The current state of the cluster.
326
+ # Corresponds to the JSON property `state`
327
+ # @return [String]
328
+ attr_accessor :state
329
+
330
+ def initialize(**args)
331
+ update!(**args)
332
+ end
333
+
334
+ # Update properties of this object
335
+ def update!(**args)
336
+ @default_storage_type = args[:default_storage_type] if args.key?(:default_storage_type)
337
+ @location = args[:location] if args.key?(:location)
338
+ @name = args[:name] if args.key?(:name)
339
+ @serve_nodes = args[:serve_nodes] if args.key?(:serve_nodes)
340
+ @state = args[:state] if args.key?(:state)
341
+ end
342
+ end
343
+
344
+ # The state of a table's data in a particular cluster.
345
+ class ClusterState
346
+ include Google::Apis::Core::Hashable
347
+
348
+ # (`OutputOnly`)
349
+ # The state of replication for the table in this cluster.
350
+ # Corresponds to the JSON property `replicationState`
351
+ # @return [String]
352
+ attr_accessor :replication_state
353
+
354
+ def initialize(**args)
355
+ update!(**args)
356
+ end
357
+
358
+ # Update properties of this object
359
+ def update!(**args)
360
+ @replication_state = args[:replication_state] if args.key?(:replication_state)
361
+ end
362
+ end
363
+
364
+ # A set of columns within a table which share a common configuration.
365
+ class ColumnFamily
366
+ include Google::Apis::Core::Hashable
367
+
368
+ # Rule for determining which cells to delete during garbage collection.
369
+ # Corresponds to the JSON property `gcRule`
370
+ # @return [Google::Apis::BigtableadminV2::GcRule]
371
+ attr_accessor :gc_rule
372
+
373
+ def initialize(**args)
374
+ update!(**args)
375
+ end
376
+
377
+ # Update properties of this object
378
+ def update!(**args)
379
+ @gc_rule = args[:gc_rule] if args.key?(:gc_rule)
380
+ end
381
+ end
382
+
383
+ # The metadata for the Operation returned by CreateCluster.
384
+ class CreateClusterMetadata
385
+ include Google::Apis::Core::Hashable
386
+
387
+ # The time at which the operation failed or was completed successfully.
388
+ # Corresponds to the JSON property `finishTime`
389
+ # @return [String]
390
+ attr_accessor :finish_time
391
+
392
+ # Request message for BigtableInstanceAdmin.CreateCluster.
393
+ # Corresponds to the JSON property `originalRequest`
394
+ # @return [Google::Apis::BigtableadminV2::CreateClusterRequest]
395
+ attr_accessor :original_request
396
+
397
+ # The time at which the original request was received.
398
+ # Corresponds to the JSON property `requestTime`
399
+ # @return [String]
400
+ attr_accessor :request_time
401
+
402
+ def initialize(**args)
403
+ update!(**args)
404
+ end
405
+
406
+ # Update properties of this object
407
+ def update!(**args)
408
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
409
+ @original_request = args[:original_request] if args.key?(:original_request)
410
+ @request_time = args[:request_time] if args.key?(:request_time)
411
+ end
412
+ end
413
+
414
+ # Request message for BigtableInstanceAdmin.CreateCluster.
415
+ class CreateClusterRequest
416
+ include Google::Apis::Core::Hashable
417
+
418
+ # A resizable group of nodes in a particular cloud location, capable
419
+ # of serving all Tables in the parent
420
+ # Instance.
421
+ # Corresponds to the JSON property `cluster`
422
+ # @return [Google::Apis::BigtableadminV2::Cluster]
423
+ attr_accessor :cluster
424
+
425
+ # The ID to be used when referring to the new cluster within its instance,
426
+ # e.g., just `mycluster` rather than
427
+ # `projects/myproject/instances/myinstance/clusters/mycluster`.
428
+ # Corresponds to the JSON property `clusterId`
429
+ # @return [String]
430
+ attr_accessor :cluster_id
431
+
432
+ # The unique name of the instance in which to create the new cluster.
433
+ # Values are of the form
434
+ # `projects/<project>/instances/<instance>`.
435
+ # Corresponds to the JSON property `parent`
436
+ # @return [String]
437
+ attr_accessor :parent
438
+
439
+ def initialize(**args)
440
+ update!(**args)
441
+ end
442
+
443
+ # Update properties of this object
444
+ def update!(**args)
445
+ @cluster = args[:cluster] if args.key?(:cluster)
446
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
447
+ @parent = args[:parent] if args.key?(:parent)
448
+ end
449
+ end
450
+
451
+ # The metadata for the Operation returned by CreateInstance.
452
+ class CreateInstanceMetadata
453
+ include Google::Apis::Core::Hashable
454
+
455
+ # The time at which the operation failed or was completed successfully.
456
+ # Corresponds to the JSON property `finishTime`
457
+ # @return [String]
458
+ attr_accessor :finish_time
459
+
460
+ # Request message for BigtableInstanceAdmin.CreateInstance.
461
+ # Corresponds to the JSON property `originalRequest`
462
+ # @return [Google::Apis::BigtableadminV2::CreateInstanceRequest]
463
+ attr_accessor :original_request
464
+
465
+ # The time at which the original request was received.
466
+ # Corresponds to the JSON property `requestTime`
467
+ # @return [String]
468
+ attr_accessor :request_time
469
+
470
+ def initialize(**args)
471
+ update!(**args)
472
+ end
473
+
474
+ # Update properties of this object
475
+ def update!(**args)
476
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
477
+ @original_request = args[:original_request] if args.key?(:original_request)
478
+ @request_time = args[:request_time] if args.key?(:request_time)
479
+ end
480
+ end
481
+
482
+ # Request message for BigtableInstanceAdmin.CreateInstance.
483
+ class CreateInstanceRequest
484
+ include Google::Apis::Core::Hashable
485
+
486
+ # The clusters to be created within the instance, mapped by desired
487
+ # cluster ID, e.g., just `mycluster` rather than
488
+ # `projects/myproject/instances/myinstance/clusters/mycluster`.
489
+ # Fields marked `OutputOnly` must be left blank.
490
+ # Currently, at most two clusters can be specified.
491
+ # Corresponds to the JSON property `clusters`
492
+ # @return [Hash<String,Google::Apis::BigtableadminV2::Cluster>]
493
+ attr_accessor :clusters
494
+
495
+ # A collection of Bigtable Tables and
496
+ # the resources that serve them.
497
+ # All tables in an instance are served from all
498
+ # Clusters in the instance.
499
+ # Corresponds to the JSON property `instance`
500
+ # @return [Google::Apis::BigtableadminV2::Instance]
501
+ attr_accessor :instance
502
+
503
+ # The ID to be used when referring to the new instance within its project,
504
+ # e.g., just `myinstance` rather than
505
+ # `projects/myproject/instances/myinstance`.
506
+ # Corresponds to the JSON property `instanceId`
507
+ # @return [String]
508
+ attr_accessor :instance_id
509
+
510
+ # The unique name of the project in which to create the new instance.
511
+ # Values are of the form `projects/<project>`.
512
+ # Corresponds to the JSON property `parent`
513
+ # @return [String]
514
+ attr_accessor :parent
515
+
516
+ def initialize(**args)
517
+ update!(**args)
518
+ end
519
+
520
+ # Update properties of this object
521
+ def update!(**args)
522
+ @clusters = args[:clusters] if args.key?(:clusters)
523
+ @instance = args[:instance] if args.key?(:instance)
524
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
525
+ @parent = args[:parent] if args.key?(:parent)
526
+ end
527
+ end
528
+
529
+ # Request message for
530
+ # google.bigtable.admin.v2.BigtableTableAdmin.CreateTable
531
+ class CreateTableRequest
532
+ include Google::Apis::Core::Hashable
533
+
534
+ # The optional list of row keys that will be used to initially split the
535
+ # table into several tablets (tablets are similar to HBase regions).
536
+ # Given two split keys, `s1` and `s2`, three tablets will be created,
537
+ # spanning the key ranges: `[, s1), [s1, s2), [s2, )`.
538
+ # Example:
539
+ # * Row keys := `["a", "apple", "custom", "customer_1", "customer_2",`
540
+ # `"other", "zz"]`
541
+ # * initial_split_keys := `["apple", "customer_1", "customer_2", "other"]`
542
+ # * Key assignment:
543
+ # - Tablet 1 `[, apple) => `"a"`.`
544
+ # - Tablet 2 `[apple, customer_1) => `"apple", "custom"`.`
545
+ # - Tablet 3 `[customer_1, customer_2) => `"customer_1"`.`
546
+ # - Tablet 4 `[customer_2, other) => `"customer_2"`.`
547
+ # - Tablet 5 `[other, ) => `"other", "zz"`.`
548
+ # Corresponds to the JSON property `initialSplits`
549
+ # @return [Array<Google::Apis::BigtableadminV2::Split>]
550
+ attr_accessor :initial_splits
551
+
552
+ # A collection of user data indexed by row, column, and timestamp.
553
+ # Each table is served using the resources of its parent cluster.
554
+ # Corresponds to the JSON property `table`
555
+ # @return [Google::Apis::BigtableadminV2::Table]
556
+ attr_accessor :table
557
+
558
+ # The name by which the new table should be referred to within the parent
559
+ # instance, e.g., `foobar` rather than `<parent>/tables/foobar`.
560
+ # Corresponds to the JSON property `tableId`
561
+ # @return [String]
562
+ attr_accessor :table_id
563
+
564
+ def initialize(**args)
565
+ update!(**args)
566
+ end
567
+
568
+ # Update properties of this object
569
+ def update!(**args)
570
+ @initial_splits = args[:initial_splits] if args.key?(:initial_splits)
571
+ @table = args[:table] if args.key?(:table)
572
+ @table_id = args[:table_id] if args.key?(:table_id)
573
+ end
574
+ end
575
+
576
+ # Request message for
577
+ # google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange
578
+ class DropRowRangeRequest
579
+ include Google::Apis::Core::Hashable
580
+
581
+ # Delete all rows in the table. Setting this to false is a no-op.
582
+ # Corresponds to the JSON property `deleteAllDataFromTable`
583
+ # @return [Boolean]
584
+ attr_accessor :delete_all_data_from_table
585
+ alias_method :delete_all_data_from_table?, :delete_all_data_from_table
586
+
587
+ # Delete all rows that start with this row key prefix. Prefix cannot be
588
+ # zero length.
589
+ # Corresponds to the JSON property `rowKeyPrefix`
590
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
591
+ # @return [String]
592
+ attr_accessor :row_key_prefix
593
+
594
+ def initialize(**args)
595
+ update!(**args)
596
+ end
597
+
598
+ # Update properties of this object
599
+ def update!(**args)
600
+ @delete_all_data_from_table = args[:delete_all_data_from_table] if args.key?(:delete_all_data_from_table)
601
+ @row_key_prefix = args[:row_key_prefix] if args.key?(:row_key_prefix)
602
+ end
603
+ end
604
+
605
+ # A generic empty message that you can re-use to avoid defining duplicated
606
+ # empty messages in your APIs. A typical example is to use it as the request
607
+ # or the response type of an API method. For instance:
608
+ # service Foo `
609
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
610
+ # `
611
+ # The JSON representation for `Empty` is empty JSON object ````.
612
+ class Empty
613
+ include Google::Apis::Core::Hashable
614
+
615
+ def initialize(**args)
616
+ update!(**args)
617
+ end
618
+
619
+ # Update properties of this object
620
+ def update!(**args)
621
+ end
622
+ end
623
+
624
+ # Represents an expression text. Example:
625
+ # title: "User account presence"
626
+ # description: "Determines whether the request has a user account"
627
+ # expression: "size(request.user) > 0"
628
+ class Expr
629
+ include Google::Apis::Core::Hashable
630
+
631
+ # An optional description of the expression. This is a longer text which
632
+ # describes the expression, e.g. when hovered over it in a UI.
633
+ # Corresponds to the JSON property `description`
634
+ # @return [String]
635
+ attr_accessor :description
636
+
637
+ # Textual representation of an expression in
638
+ # Common Expression Language syntax.
639
+ # The application context of the containing message determines which
640
+ # well-known feature set of CEL is supported.
641
+ # Corresponds to the JSON property `expression`
642
+ # @return [String]
643
+ attr_accessor :expression
644
+
645
+ # An optional string indicating the location of the expression for error
646
+ # reporting, e.g. a file name and a position in the file.
647
+ # Corresponds to the JSON property `location`
648
+ # @return [String]
649
+ attr_accessor :location
650
+
651
+ # An optional title for the expression, i.e. a short string describing
652
+ # its purpose. This can be used e.g. in UIs which allow to enter the
653
+ # expression.
654
+ # Corresponds to the JSON property `title`
655
+ # @return [String]
656
+ attr_accessor :title
657
+
658
+ def initialize(**args)
659
+ update!(**args)
660
+ end
661
+
662
+ # Update properties of this object
663
+ def update!(**args)
664
+ @description = args[:description] if args.key?(:description)
665
+ @expression = args[:expression] if args.key?(:expression)
666
+ @location = args[:location] if args.key?(:location)
667
+ @title = args[:title] if args.key?(:title)
668
+ end
669
+ end
670
+
671
+ # Rule for determining which cells to delete during garbage collection.
672
+ class GcRule
673
+ include Google::Apis::Core::Hashable
674
+
675
+ # A GcRule which deletes cells matching all of the given rules.
676
+ # Corresponds to the JSON property `intersection`
677
+ # @return [Google::Apis::BigtableadminV2::Intersection]
678
+ attr_accessor :intersection
679
+
680
+ # Delete cells in a column older than the given age.
681
+ # Values must be at least one millisecond, and will be truncated to
682
+ # microsecond granularity.
683
+ # Corresponds to the JSON property `maxAge`
684
+ # @return [String]
685
+ attr_accessor :max_age
686
+
687
+ # Delete all cells in a column except the most recent N.
688
+ # Corresponds to the JSON property `maxNumVersions`
689
+ # @return [Fixnum]
690
+ attr_accessor :max_num_versions
691
+
692
+ # A GcRule which deletes cells matching any of the given rules.
693
+ # Corresponds to the JSON property `union`
694
+ # @return [Google::Apis::BigtableadminV2::Union]
695
+ attr_accessor :union
696
+
697
+ def initialize(**args)
698
+ update!(**args)
699
+ end
700
+
701
+ # Update properties of this object
702
+ def update!(**args)
703
+ @intersection = args[:intersection] if args.key?(:intersection)
704
+ @max_age = args[:max_age] if args.key?(:max_age)
705
+ @max_num_versions = args[:max_num_versions] if args.key?(:max_num_versions)
706
+ @union = args[:union] if args.key?(:union)
707
+ end
708
+ end
709
+
710
+ # Request message for
711
+ # google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken
712
+ class GenerateConsistencyTokenRequest
713
+ include Google::Apis::Core::Hashable
714
+
715
+ def initialize(**args)
716
+ update!(**args)
717
+ end
718
+
719
+ # Update properties of this object
720
+ def update!(**args)
721
+ end
722
+ end
723
+
724
+ # Response message for
725
+ # google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken
726
+ class GenerateConsistencyTokenResponse
727
+ include Google::Apis::Core::Hashable
728
+
729
+ # The generated consistency token.
730
+ # Corresponds to the JSON property `consistencyToken`
731
+ # @return [String]
732
+ attr_accessor :consistency_token
733
+
734
+ def initialize(**args)
735
+ update!(**args)
736
+ end
737
+
738
+ # Update properties of this object
739
+ def update!(**args)
740
+ @consistency_token = args[:consistency_token] if args.key?(:consistency_token)
741
+ end
742
+ end
743
+
744
+ # Request message for `GetIamPolicy` method.
745
+ class GetIamPolicyRequest
746
+ include Google::Apis::Core::Hashable
747
+
748
+ def initialize(**args)
749
+ update!(**args)
750
+ end
751
+
752
+ # Update properties of this object
753
+ def update!(**args)
754
+ end
755
+ end
756
+
757
+ # A collection of Bigtable Tables and
758
+ # the resources that serve them.
759
+ # All tables in an instance are served from all
760
+ # Clusters in the instance.
761
+ class Instance
762
+ include Google::Apis::Core::Hashable
763
+
764
+ # The descriptive name for this instance as it appears in UIs.
765
+ # Can be changed at any time, but should be kept globally unique
766
+ # to avoid confusion.
767
+ # Corresponds to the JSON property `displayName`
768
+ # @return [String]
769
+ attr_accessor :display_name
770
+
771
+ # Labels are a flexible and lightweight mechanism for organizing cloud
772
+ # resources into groups that reflect a customer's organizational needs and
773
+ # deployment strategies. They can be used to filter resources and aggregate
774
+ # metrics.
775
+ # * Label keys must be between 1 and 63 characters long and must conform to
776
+ # the regular expression: `\p`Ll`\p`Lo``0,62``.
777
+ # * Label values must be between 0 and 63 characters long and must conform to
778
+ # the regular expression: `[\p`Ll`\p`Lo`\p`N`_-]`0,63``.
779
+ # * No more than 64 labels can be associated with a given resource.
780
+ # * Keys and values must both be under 128 bytes.
781
+ # Corresponds to the JSON property `labels`
782
+ # @return [Hash<String,String>]
783
+ attr_accessor :labels
784
+
785
+ # (`OutputOnly`)
786
+ # The unique name of the instance. Values are of the form
787
+ # `projects/<project>/instances/a-z+[a-z0-9]`.
788
+ # Corresponds to the JSON property `name`
789
+ # @return [String]
790
+ attr_accessor :name
791
+
792
+ # (`OutputOnly`)
793
+ # The current state of the instance.
794
+ # Corresponds to the JSON property `state`
795
+ # @return [String]
796
+ attr_accessor :state
797
+
798
+ # The type of the instance. Defaults to `PRODUCTION`.
799
+ # Corresponds to the JSON property `type`
800
+ # @return [String]
801
+ attr_accessor :type
802
+
803
+ def initialize(**args)
804
+ update!(**args)
805
+ end
806
+
807
+ # Update properties of this object
808
+ def update!(**args)
809
+ @display_name = args[:display_name] if args.key?(:display_name)
810
+ @labels = args[:labels] if args.key?(:labels)
811
+ @name = args[:name] if args.key?(:name)
812
+ @state = args[:state] if args.key?(:state)
813
+ @type = args[:type] if args.key?(:type)
814
+ end
815
+ end
816
+
817
+ # A GcRule which deletes cells matching all of the given rules.
818
+ class Intersection
819
+ include Google::Apis::Core::Hashable
820
+
821
+ # Only delete cells which would be deleted by every element of `rules`.
822
+ # Corresponds to the JSON property `rules`
823
+ # @return [Array<Google::Apis::BigtableadminV2::GcRule>]
824
+ attr_accessor :rules
825
+
826
+ def initialize(**args)
827
+ update!(**args)
828
+ end
829
+
830
+ # Update properties of this object
831
+ def update!(**args)
832
+ @rules = args[:rules] if args.key?(:rules)
833
+ end
834
+ end
835
+
836
+ # Response message for BigtableInstanceAdmin.ListAppProfiles.
837
+ class ListAppProfilesResponse
838
+ include Google::Apis::Core::Hashable
839
+
840
+ # The list of requested app profiles.
841
+ # Corresponds to the JSON property `appProfiles`
842
+ # @return [Array<Google::Apis::BigtableadminV2::AppProfile>]
843
+ attr_accessor :app_profiles
844
+
845
+ # Locations from which AppProfile information could not be retrieved,
846
+ # due to an outage or some other transient condition.
847
+ # AppProfiles from these locations may be missing from `app_profiles`.
848
+ # Values are of the form `projects/<project>/locations/<zone_id>`
849
+ # Corresponds to the JSON property `failedLocations`
850
+ # @return [Array<String>]
851
+ attr_accessor :failed_locations
852
+
853
+ # Set if not all app profiles could be returned in a single response.
854
+ # Pass this value to `page_token` in another request to get the next
855
+ # page of results.
856
+ # Corresponds to the JSON property `nextPageToken`
857
+ # @return [String]
858
+ attr_accessor :next_page_token
859
+
860
+ def initialize(**args)
861
+ update!(**args)
862
+ end
863
+
864
+ # Update properties of this object
865
+ def update!(**args)
866
+ @app_profiles = args[:app_profiles] if args.key?(:app_profiles)
867
+ @failed_locations = args[:failed_locations] if args.key?(:failed_locations)
868
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
869
+ end
870
+ end
871
+
872
+ # Response message for BigtableInstanceAdmin.ListClusters.
873
+ class ListClustersResponse
874
+ include Google::Apis::Core::Hashable
875
+
876
+ # The list of requested clusters.
877
+ # Corresponds to the JSON property `clusters`
878
+ # @return [Array<Google::Apis::BigtableadminV2::Cluster>]
879
+ attr_accessor :clusters
880
+
881
+ # Locations from which Cluster information could not be retrieved,
882
+ # due to an outage or some other transient condition.
883
+ # Clusters from these locations may be missing from `clusters`,
884
+ # or may only have partial information returned.
885
+ # Values are of the form `projects/<project>/locations/<zone_id>`
886
+ # Corresponds to the JSON property `failedLocations`
887
+ # @return [Array<String>]
888
+ attr_accessor :failed_locations
889
+
890
+ # DEPRECATED: This field is unused and ignored.
891
+ # Corresponds to the JSON property `nextPageToken`
892
+ # @return [String]
893
+ attr_accessor :next_page_token
894
+
895
+ def initialize(**args)
896
+ update!(**args)
897
+ end
898
+
899
+ # Update properties of this object
900
+ def update!(**args)
901
+ @clusters = args[:clusters] if args.key?(:clusters)
902
+ @failed_locations = args[:failed_locations] if args.key?(:failed_locations)
903
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
904
+ end
905
+ end
906
+
907
+ # Response message for BigtableInstanceAdmin.ListInstances.
908
+ class ListInstancesResponse
909
+ include Google::Apis::Core::Hashable
910
+
911
+ # Locations from which Instance information could not be retrieved,
912
+ # due to an outage or some other transient condition.
913
+ # Instances whose Clusters are all in one of the failed locations
914
+ # may be missing from `instances`, and Instances with at least one
915
+ # Cluster in a failed location may only have partial information returned.
916
+ # Values are of the form `projects/<project>/locations/<zone_id>`
917
+ # Corresponds to the JSON property `failedLocations`
918
+ # @return [Array<String>]
919
+ attr_accessor :failed_locations
920
+
921
+ # The list of requested instances.
922
+ # Corresponds to the JSON property `instances`
923
+ # @return [Array<Google::Apis::BigtableadminV2::Instance>]
924
+ attr_accessor :instances
925
+
926
+ # DEPRECATED: This field is unused and ignored.
927
+ # Corresponds to the JSON property `nextPageToken`
928
+ # @return [String]
929
+ attr_accessor :next_page_token
930
+
931
+ def initialize(**args)
932
+ update!(**args)
933
+ end
934
+
935
+ # Update properties of this object
936
+ def update!(**args)
937
+ @failed_locations = args[:failed_locations] if args.key?(:failed_locations)
938
+ @instances = args[:instances] if args.key?(:instances)
939
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
940
+ end
941
+ end
942
+
943
+ # The response message for Operations.ListOperations.
944
+ class ListOperationsResponse
945
+ include Google::Apis::Core::Hashable
946
+
947
+ # The standard List next-page token.
948
+ # Corresponds to the JSON property `nextPageToken`
949
+ # @return [String]
950
+ attr_accessor :next_page_token
951
+
952
+ # A list of operations that matches the specified filter in the request.
953
+ # Corresponds to the JSON property `operations`
954
+ # @return [Array<Google::Apis::BigtableadminV2::Operation>]
955
+ attr_accessor :operations
956
+
957
+ def initialize(**args)
958
+ update!(**args)
959
+ end
960
+
961
+ # Update properties of this object
962
+ def update!(**args)
963
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
964
+ @operations = args[:operations] if args.key?(:operations)
965
+ end
966
+ end
967
+
968
+ # Response message for
969
+ # google.bigtable.admin.v2.BigtableTableAdmin.ListTables
970
+ class ListTablesResponse
971
+ include Google::Apis::Core::Hashable
972
+
973
+ # Set if not all tables could be returned in a single response.
974
+ # Pass this value to `page_token` in another request to get the next
975
+ # page of results.
976
+ # Corresponds to the JSON property `nextPageToken`
977
+ # @return [String]
978
+ attr_accessor :next_page_token
979
+
980
+ # The tables present in the requested instance.
981
+ # Corresponds to the JSON property `tables`
982
+ # @return [Array<Google::Apis::BigtableadminV2::Table>]
983
+ attr_accessor :tables
984
+
985
+ def initialize(**args)
986
+ update!(**args)
987
+ end
988
+
989
+ # Update properties of this object
990
+ def update!(**args)
991
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
992
+ @tables = args[:tables] if args.key?(:tables)
993
+ end
994
+ end
995
+
996
+ # A create, update, or delete of a particular column family.
997
+ class Modification
998
+ include Google::Apis::Core::Hashable
999
+
1000
+ # A set of columns within a table which share a common configuration.
1001
+ # Corresponds to the JSON property `create`
1002
+ # @return [Google::Apis::BigtableadminV2::ColumnFamily]
1003
+ attr_accessor :create
1004
+
1005
+ # Drop (delete) the column family with the given ID, or fail if no such
1006
+ # family exists.
1007
+ # Corresponds to the JSON property `drop`
1008
+ # @return [Boolean]
1009
+ attr_accessor :drop
1010
+ alias_method :drop?, :drop
1011
+
1012
+ # The ID of the column family to be modified.
1013
+ # Corresponds to the JSON property `id`
1014
+ # @return [String]
1015
+ attr_accessor :id
1016
+
1017
+ # A set of columns within a table which share a common configuration.
1018
+ # Corresponds to the JSON property `update`
1019
+ # @return [Google::Apis::BigtableadminV2::ColumnFamily]
1020
+ attr_accessor :update
1021
+
1022
+ def initialize(**args)
1023
+ update!(**args)
1024
+ end
1025
+
1026
+ # Update properties of this object
1027
+ def update!(**args)
1028
+ @create = args[:create] if args.key?(:create)
1029
+ @drop = args[:drop] if args.key?(:drop)
1030
+ @id = args[:id] if args.key?(:id)
1031
+ @update = args[:update] if args.key?(:update)
1032
+ end
1033
+ end
1034
+
1035
+ # Request message for
1036
+ # google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies
1037
+ class ModifyColumnFamiliesRequest
1038
+ include Google::Apis::Core::Hashable
1039
+
1040
+ # Modifications to be atomically applied to the specified table's families.
1041
+ # Entries are applied in order, meaning that earlier modifications can be
1042
+ # masked by later ones (in the case of repeated updates to the same family,
1043
+ # for example).
1044
+ # Corresponds to the JSON property `modifications`
1045
+ # @return [Array<Google::Apis::BigtableadminV2::Modification>]
1046
+ attr_accessor :modifications
1047
+
1048
+ def initialize(**args)
1049
+ update!(**args)
1050
+ end
1051
+
1052
+ # Update properties of this object
1053
+ def update!(**args)
1054
+ @modifications = args[:modifications] if args.key?(:modifications)
1055
+ end
1056
+ end
1057
+
1058
+ # Read/write requests may be routed to any cluster in the instance, and will
1059
+ # fail over to another cluster in the event of transient errors or delays.
1060
+ # Choosing this option sacrifices read-your-writes consistency to improve
1061
+ # availability.
1062
+ class MultiClusterRoutingUseAny
1063
+ include Google::Apis::Core::Hashable
1064
+
1065
+ def initialize(**args)
1066
+ update!(**args)
1067
+ end
1068
+
1069
+ # Update properties of this object
1070
+ def update!(**args)
1071
+ end
1072
+ end
1073
+
1074
+ # This resource represents a long-running operation that is the result of a
1075
+ # network API call.
1076
+ class Operation
1077
+ include Google::Apis::Core::Hashable
1078
+
1079
+ # If the value is `false`, it means the operation is still in progress.
1080
+ # If `true`, the operation is completed, and either `error` or `response` is
1081
+ # available.
1082
+ # Corresponds to the JSON property `done`
1083
+ # @return [Boolean]
1084
+ attr_accessor :done
1085
+ alias_method :done?, :done
1086
+
1087
+ # The `Status` type defines a logical error model that is suitable for different
1088
+ # programming environments, including REST APIs and RPC APIs. It is used by
1089
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
1090
+ # - Simple to use and understand for most users
1091
+ # - Flexible enough to meet unexpected needs
1092
+ # # Overview
1093
+ # The `Status` message contains three pieces of data: error code, error message,
1094
+ # and error details. The error code should be an enum value of
1095
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1096
+ # error message should be a developer-facing English message that helps
1097
+ # developers *understand* and *resolve* the error. If a localized user-facing
1098
+ # error message is needed, put the localized message in the error details or
1099
+ # localize it in the client. The optional error details may contain arbitrary
1100
+ # information about the error. There is a predefined set of error detail types
1101
+ # in the package `google.rpc` that can be used for common error conditions.
1102
+ # # Language mapping
1103
+ # The `Status` message is the logical representation of the error model, but it
1104
+ # is not necessarily the actual wire format. When the `Status` message is
1105
+ # exposed in different client libraries and different wire protocols, it can be
1106
+ # mapped differently. For example, it will likely be mapped to some exceptions
1107
+ # in Java, but more likely mapped to some error codes in C.
1108
+ # # Other uses
1109
+ # The error model and the `Status` message can be used in a variety of
1110
+ # environments, either with or without APIs, to provide a
1111
+ # consistent developer experience across different environments.
1112
+ # Example uses of this error model include:
1113
+ # - Partial errors. If a service needs to return partial errors to the client,
1114
+ # it may embed the `Status` in the normal response to indicate the partial
1115
+ # errors.
1116
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1117
+ # have a `Status` message for error reporting.
1118
+ # - Batch operations. If a client uses batch request and batch response, the
1119
+ # `Status` message should be used directly inside batch response, one for
1120
+ # each error sub-response.
1121
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1122
+ # results in its response, the status of those operations should be
1123
+ # represented directly using the `Status` message.
1124
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1125
+ # be used directly after any stripping needed for security/privacy reasons.
1126
+ # Corresponds to the JSON property `error`
1127
+ # @return [Google::Apis::BigtableadminV2::Status]
1128
+ attr_accessor :error
1129
+
1130
+ # Service-specific metadata associated with the operation. It typically
1131
+ # contains progress information and common metadata such as create time.
1132
+ # Some services might not provide such metadata. Any method that returns a
1133
+ # long-running operation should document the metadata type, if any.
1134
+ # Corresponds to the JSON property `metadata`
1135
+ # @return [Hash<String,Object>]
1136
+ attr_accessor :metadata
1137
+
1138
+ # The server-assigned name, which is only unique within the same service that
1139
+ # originally returns it. If you use the default HTTP mapping, the
1140
+ # `name` should have the format of `operations/some/unique/name`.
1141
+ # Corresponds to the JSON property `name`
1142
+ # @return [String]
1143
+ attr_accessor :name
1144
+
1145
+ # The normal response of the operation in case of success. If the original
1146
+ # method returns no data on success, such as `Delete`, the response is
1147
+ # `google.protobuf.Empty`. If the original method is standard
1148
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1149
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1150
+ # is the original method name. For example, if the original method name
1151
+ # is `TakeSnapshot()`, the inferred response type is
1152
+ # `TakeSnapshotResponse`.
1153
+ # Corresponds to the JSON property `response`
1154
+ # @return [Hash<String,Object>]
1155
+ attr_accessor :response
1156
+
1157
+ def initialize(**args)
1158
+ update!(**args)
1159
+ end
1160
+
1161
+ # Update properties of this object
1162
+ def update!(**args)
1163
+ @done = args[:done] if args.key?(:done)
1164
+ @error = args[:error] if args.key?(:error)
1165
+ @metadata = args[:metadata] if args.key?(:metadata)
1166
+ @name = args[:name] if args.key?(:name)
1167
+ @response = args[:response] if args.key?(:response)
1168
+ end
1169
+ end
1170
+
1171
+ # Request message for BigtableInstanceAdmin.PartialUpdateInstance.
1172
+ class PartialUpdateInstanceRequest
1173
+ include Google::Apis::Core::Hashable
1174
+
1175
+ # A collection of Bigtable Tables and
1176
+ # the resources that serve them.
1177
+ # All tables in an instance are served from all
1178
+ # Clusters in the instance.
1179
+ # Corresponds to the JSON property `instance`
1180
+ # @return [Google::Apis::BigtableadminV2::Instance]
1181
+ attr_accessor :instance
1182
+
1183
+ # The subset of Instance fields which should be replaced.
1184
+ # Must be explicitly set.
1185
+ # Corresponds to the JSON property `updateMask`
1186
+ # @return [String]
1187
+ attr_accessor :update_mask
1188
+
1189
+ def initialize(**args)
1190
+ update!(**args)
1191
+ end
1192
+
1193
+ # Update properties of this object
1194
+ def update!(**args)
1195
+ @instance = args[:instance] if args.key?(:instance)
1196
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1197
+ end
1198
+ end
1199
+
1200
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1201
+ # specify access control policies for Cloud Platform resources.
1202
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1203
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1204
+ # Google domains, and service accounts. A `role` is a named list of permissions
1205
+ # defined by IAM.
1206
+ # **JSON Example**
1207
+ # `
1208
+ # "bindings": [
1209
+ # `
1210
+ # "role": "roles/owner",
1211
+ # "members": [
1212
+ # "user:mike@example.com",
1213
+ # "group:admins@example.com",
1214
+ # "domain:google.com",
1215
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1216
+ # ]
1217
+ # `,
1218
+ # `
1219
+ # "role": "roles/viewer",
1220
+ # "members": ["user:sean@example.com"]
1221
+ # `
1222
+ # ]
1223
+ # `
1224
+ # **YAML Example**
1225
+ # bindings:
1226
+ # - members:
1227
+ # - user:mike@example.com
1228
+ # - group:admins@example.com
1229
+ # - domain:google.com
1230
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1231
+ # role: roles/owner
1232
+ # - members:
1233
+ # - user:sean@example.com
1234
+ # role: roles/viewer
1235
+ # For a description of IAM and its features, see the
1236
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
1237
+ class Policy
1238
+ include Google::Apis::Core::Hashable
1239
+
1240
+ # Specifies cloud audit logging configuration for this policy.
1241
+ # Corresponds to the JSON property `auditConfigs`
1242
+ # @return [Array<Google::Apis::BigtableadminV2::AuditConfig>]
1243
+ attr_accessor :audit_configs
1244
+
1245
+ # Associates a list of `members` to a `role`.
1246
+ # `bindings` with no members will result in an error.
1247
+ # Corresponds to the JSON property `bindings`
1248
+ # @return [Array<Google::Apis::BigtableadminV2::Binding>]
1249
+ attr_accessor :bindings
1250
+
1251
+ # `etag` is used for optimistic concurrency control as a way to help
1252
+ # prevent simultaneous updates of a policy from overwriting each other.
1253
+ # It is strongly suggested that systems make use of the `etag` in the
1254
+ # read-modify-write cycle to perform policy updates in order to avoid race
1255
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1256
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1257
+ # ensure that their change will be applied to the same version of the policy.
1258
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1259
+ # policy is overwritten blindly.
1260
+ # Corresponds to the JSON property `etag`
1261
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1262
+ # @return [String]
1263
+ attr_accessor :etag
1264
+
1265
+ # Deprecated.
1266
+ # Corresponds to the JSON property `version`
1267
+ # @return [Fixnum]
1268
+ attr_accessor :version
1269
+
1270
+ def initialize(**args)
1271
+ update!(**args)
1272
+ end
1273
+
1274
+ # Update properties of this object
1275
+ def update!(**args)
1276
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1277
+ @bindings = args[:bindings] if args.key?(:bindings)
1278
+ @etag = args[:etag] if args.key?(:etag)
1279
+ @version = args[:version] if args.key?(:version)
1280
+ end
1281
+ end
1282
+
1283
+ # Request message for `SetIamPolicy` method.
1284
+ class SetIamPolicyRequest
1285
+ include Google::Apis::Core::Hashable
1286
+
1287
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1288
+ # specify access control policies for Cloud Platform resources.
1289
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1290
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1291
+ # Google domains, and service accounts. A `role` is a named list of permissions
1292
+ # defined by IAM.
1293
+ # **JSON Example**
1294
+ # `
1295
+ # "bindings": [
1296
+ # `
1297
+ # "role": "roles/owner",
1298
+ # "members": [
1299
+ # "user:mike@example.com",
1300
+ # "group:admins@example.com",
1301
+ # "domain:google.com",
1302
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1303
+ # ]
1304
+ # `,
1305
+ # `
1306
+ # "role": "roles/viewer",
1307
+ # "members": ["user:sean@example.com"]
1308
+ # `
1309
+ # ]
1310
+ # `
1311
+ # **YAML Example**
1312
+ # bindings:
1313
+ # - members:
1314
+ # - user:mike@example.com
1315
+ # - group:admins@example.com
1316
+ # - domain:google.com
1317
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1318
+ # role: roles/owner
1319
+ # - members:
1320
+ # - user:sean@example.com
1321
+ # role: roles/viewer
1322
+ # For a description of IAM and its features, see the
1323
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
1324
+ # Corresponds to the JSON property `policy`
1325
+ # @return [Google::Apis::BigtableadminV2::Policy]
1326
+ attr_accessor :policy
1327
+
1328
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1329
+ # the fields in the mask will be modified. If no mask is provided, the
1330
+ # following default mask is used:
1331
+ # paths: "bindings, etag"
1332
+ # This field is only used by Cloud IAM.
1333
+ # Corresponds to the JSON property `updateMask`
1334
+ # @return [String]
1335
+ attr_accessor :update_mask
1336
+
1337
+ def initialize(**args)
1338
+ update!(**args)
1339
+ end
1340
+
1341
+ # Update properties of this object
1342
+ def update!(**args)
1343
+ @policy = args[:policy] if args.key?(:policy)
1344
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1345
+ end
1346
+ end
1347
+
1348
+ # Unconditionally routes all read/write requests to a specific cluster.
1349
+ # This option preserves read-your-writes consistency, but does not improve
1350
+ # availability.
1351
+ class SingleClusterRouting
1352
+ include Google::Apis::Core::Hashable
1353
+
1354
+ # Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
1355
+ # allowed by this app profile. It is unsafe to send these requests to
1356
+ # the same table/row/column in multiple clusters.
1357
+ # Corresponds to the JSON property `allowTransactionalWrites`
1358
+ # @return [Boolean]
1359
+ attr_accessor :allow_transactional_writes
1360
+ alias_method :allow_transactional_writes?, :allow_transactional_writes
1361
+
1362
+ # The cluster to which read/write requests should be routed.
1363
+ # Corresponds to the JSON property `clusterId`
1364
+ # @return [String]
1365
+ attr_accessor :cluster_id
1366
+
1367
+ def initialize(**args)
1368
+ update!(**args)
1369
+ end
1370
+
1371
+ # Update properties of this object
1372
+ def update!(**args)
1373
+ @allow_transactional_writes = args[:allow_transactional_writes] if args.key?(:allow_transactional_writes)
1374
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
1375
+ end
1376
+ end
1377
+
1378
+ # An initial split point for a newly created table.
1379
+ class Split
1380
+ include Google::Apis::Core::Hashable
1381
+
1382
+ # Row key to use as an initial tablet boundary.
1383
+ # Corresponds to the JSON property `key`
1384
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1385
+ # @return [String]
1386
+ attr_accessor :key
1387
+
1388
+ def initialize(**args)
1389
+ update!(**args)
1390
+ end
1391
+
1392
+ # Update properties of this object
1393
+ def update!(**args)
1394
+ @key = args[:key] if args.key?(:key)
1395
+ end
1396
+ end
1397
+
1398
+ # The `Status` type defines a logical error model that is suitable for different
1399
+ # programming environments, including REST APIs and RPC APIs. It is used by
1400
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
1401
+ # - Simple to use and understand for most users
1402
+ # - Flexible enough to meet unexpected needs
1403
+ # # Overview
1404
+ # The `Status` message contains three pieces of data: error code, error message,
1405
+ # and error details. The error code should be an enum value of
1406
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1407
+ # error message should be a developer-facing English message that helps
1408
+ # developers *understand* and *resolve* the error. If a localized user-facing
1409
+ # error message is needed, put the localized message in the error details or
1410
+ # localize it in the client. The optional error details may contain arbitrary
1411
+ # information about the error. There is a predefined set of error detail types
1412
+ # in the package `google.rpc` that can be used for common error conditions.
1413
+ # # Language mapping
1414
+ # The `Status` message is the logical representation of the error model, but it
1415
+ # is not necessarily the actual wire format. When the `Status` message is
1416
+ # exposed in different client libraries and different wire protocols, it can be
1417
+ # mapped differently. For example, it will likely be mapped to some exceptions
1418
+ # in Java, but more likely mapped to some error codes in C.
1419
+ # # Other uses
1420
+ # The error model and the `Status` message can be used in a variety of
1421
+ # environments, either with or without APIs, to provide a
1422
+ # consistent developer experience across different environments.
1423
+ # Example uses of this error model include:
1424
+ # - Partial errors. If a service needs to return partial errors to the client,
1425
+ # it may embed the `Status` in the normal response to indicate the partial
1426
+ # errors.
1427
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1428
+ # have a `Status` message for error reporting.
1429
+ # - Batch operations. If a client uses batch request and batch response, the
1430
+ # `Status` message should be used directly inside batch response, one for
1431
+ # each error sub-response.
1432
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1433
+ # results in its response, the status of those operations should be
1434
+ # represented directly using the `Status` message.
1435
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1436
+ # be used directly after any stripping needed for security/privacy reasons.
1437
+ class Status
1438
+ include Google::Apis::Core::Hashable
1439
+
1440
+ # The status code, which should be an enum value of google.rpc.Code.
1441
+ # Corresponds to the JSON property `code`
1442
+ # @return [Fixnum]
1443
+ attr_accessor :code
1444
+
1445
+ # A list of messages that carry the error details. There is a common set of
1446
+ # message types for APIs to use.
1447
+ # Corresponds to the JSON property `details`
1448
+ # @return [Array<Hash<String,Object>>]
1449
+ attr_accessor :details
1450
+
1451
+ # A developer-facing error message, which should be in English. Any
1452
+ # user-facing error message should be localized and sent in the
1453
+ # google.rpc.Status.details field, or localized by the client.
1454
+ # Corresponds to the JSON property `message`
1455
+ # @return [String]
1456
+ attr_accessor :message
1457
+
1458
+ def initialize(**args)
1459
+ update!(**args)
1460
+ end
1461
+
1462
+ # Update properties of this object
1463
+ def update!(**args)
1464
+ @code = args[:code] if args.key?(:code)
1465
+ @details = args[:details] if args.key?(:details)
1466
+ @message = args[:message] if args.key?(:message)
1467
+ end
1468
+ end
1469
+
1470
+ # A collection of user data indexed by row, column, and timestamp.
1471
+ # Each table is served using the resources of its parent cluster.
1472
+ class Table
1473
+ include Google::Apis::Core::Hashable
1474
+
1475
+ # (`OutputOnly`)
1476
+ # Map from cluster ID to per-cluster table state.
1477
+ # If it could not be determined whether or not the table has data in a
1478
+ # particular cluster (for example, if its zone is unavailable), then
1479
+ # there will be an entry for the cluster with UNKNOWN `replication_status`.
1480
+ # Views: `REPLICATION_VIEW`, `FULL`
1481
+ # Corresponds to the JSON property `clusterStates`
1482
+ # @return [Hash<String,Google::Apis::BigtableadminV2::ClusterState>]
1483
+ attr_accessor :cluster_states
1484
+
1485
+ # (`CreationOnly`)
1486
+ # The column families configured for this table, mapped by column family ID.
1487
+ # Views: `SCHEMA_VIEW`, `FULL`
1488
+ # Corresponds to the JSON property `columnFamilies`
1489
+ # @return [Hash<String,Google::Apis::BigtableadminV2::ColumnFamily>]
1490
+ attr_accessor :column_families
1491
+
1492
+ # (`CreationOnly`)
1493
+ # The granularity (i.e. `MILLIS`) at which timestamps are stored in
1494
+ # this table. Timestamps not matching the granularity will be rejected.
1495
+ # If unspecified at creation time, the value will be set to `MILLIS`.
1496
+ # Views: `SCHEMA_VIEW`, `FULL`
1497
+ # Corresponds to the JSON property `granularity`
1498
+ # @return [String]
1499
+ attr_accessor :granularity
1500
+
1501
+ # (`OutputOnly`)
1502
+ # The unique name of the table. Values are of the form
1503
+ # `projects/<project>/instances/<instance>/tables/_a-zA-Z0-9*`.
1504
+ # Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`
1505
+ # Corresponds to the JSON property `name`
1506
+ # @return [String]
1507
+ attr_accessor :name
1508
+
1509
+ def initialize(**args)
1510
+ update!(**args)
1511
+ end
1512
+
1513
+ # Update properties of this object
1514
+ def update!(**args)
1515
+ @cluster_states = args[:cluster_states] if args.key?(:cluster_states)
1516
+ @column_families = args[:column_families] if args.key?(:column_families)
1517
+ @granularity = args[:granularity] if args.key?(:granularity)
1518
+ @name = args[:name] if args.key?(:name)
1519
+ end
1520
+ end
1521
+
1522
+ # Request message for `TestIamPermissions` method.
1523
+ class TestIamPermissionsRequest
1524
+ include Google::Apis::Core::Hashable
1525
+
1526
+ # The set of permissions to check for the `resource`. Permissions with
1527
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1528
+ # information see
1529
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1530
+ # Corresponds to the JSON property `permissions`
1531
+ # @return [Array<String>]
1532
+ attr_accessor :permissions
1533
+
1534
+ def initialize(**args)
1535
+ update!(**args)
1536
+ end
1537
+
1538
+ # Update properties of this object
1539
+ def update!(**args)
1540
+ @permissions = args[:permissions] if args.key?(:permissions)
1541
+ end
1542
+ end
1543
+
1544
+ # Response message for `TestIamPermissions` method.
1545
+ class TestIamPermissionsResponse
1546
+ include Google::Apis::Core::Hashable
1547
+
1548
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
1549
+ # allowed.
1550
+ # Corresponds to the JSON property `permissions`
1551
+ # @return [Array<String>]
1552
+ attr_accessor :permissions
1553
+
1554
+ def initialize(**args)
1555
+ update!(**args)
1556
+ end
1557
+
1558
+ # Update properties of this object
1559
+ def update!(**args)
1560
+ @permissions = args[:permissions] if args.key?(:permissions)
1561
+ end
1562
+ end
1563
+
1564
+ # A GcRule which deletes cells matching any of the given rules.
1565
+ class Union
1566
+ include Google::Apis::Core::Hashable
1567
+
1568
+ # Delete cells which would be deleted by any element of `rules`.
1569
+ # Corresponds to the JSON property `rules`
1570
+ # @return [Array<Google::Apis::BigtableadminV2::GcRule>]
1571
+ attr_accessor :rules
1572
+
1573
+ def initialize(**args)
1574
+ update!(**args)
1575
+ end
1576
+
1577
+ # Update properties of this object
1578
+ def update!(**args)
1579
+ @rules = args[:rules] if args.key?(:rules)
1580
+ end
1581
+ end
1582
+
1583
+ # The metadata for the Operation returned by UpdateAppProfile.
1584
+ class UpdateAppProfileMetadata
1585
+ include Google::Apis::Core::Hashable
1586
+
1587
+ def initialize(**args)
1588
+ update!(**args)
1589
+ end
1590
+
1591
+ # Update properties of this object
1592
+ def update!(**args)
1593
+ end
1594
+ end
1595
+
1596
+ # The metadata for the Operation returned by UpdateCluster.
1597
+ class UpdateClusterMetadata
1598
+ include Google::Apis::Core::Hashable
1599
+
1600
+ # The time at which the operation failed or was completed successfully.
1601
+ # Corresponds to the JSON property `finishTime`
1602
+ # @return [String]
1603
+ attr_accessor :finish_time
1604
+
1605
+ # A resizable group of nodes in a particular cloud location, capable
1606
+ # of serving all Tables in the parent
1607
+ # Instance.
1608
+ # Corresponds to the JSON property `originalRequest`
1609
+ # @return [Google::Apis::BigtableadminV2::Cluster]
1610
+ attr_accessor :original_request
1611
+
1612
+ # The time at which the original request was received.
1613
+ # Corresponds to the JSON property `requestTime`
1614
+ # @return [String]
1615
+ attr_accessor :request_time
1616
+
1617
+ def initialize(**args)
1618
+ update!(**args)
1619
+ end
1620
+
1621
+ # Update properties of this object
1622
+ def update!(**args)
1623
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
1624
+ @original_request = args[:original_request] if args.key?(:original_request)
1625
+ @request_time = args[:request_time] if args.key?(:request_time)
1626
+ end
1627
+ end
1628
+
1629
+ # The metadata for the Operation returned by UpdateInstance.
1630
+ class UpdateInstanceMetadata
1631
+ include Google::Apis::Core::Hashable
1632
+
1633
+ # The time at which the operation failed or was completed successfully.
1634
+ # Corresponds to the JSON property `finishTime`
1635
+ # @return [String]
1636
+ attr_accessor :finish_time
1637
+
1638
+ # Request message for BigtableInstanceAdmin.PartialUpdateInstance.
1639
+ # Corresponds to the JSON property `originalRequest`
1640
+ # @return [Google::Apis::BigtableadminV2::PartialUpdateInstanceRequest]
1641
+ attr_accessor :original_request
1642
+
1643
+ # The time at which the original request was received.
1644
+ # Corresponds to the JSON property `requestTime`
1645
+ # @return [String]
1646
+ attr_accessor :request_time
1647
+
1648
+ def initialize(**args)
1649
+ update!(**args)
1650
+ end
1651
+
1652
+ # Update properties of this object
1653
+ def update!(**args)
1654
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
1655
+ @original_request = args[:original_request] if args.key?(:original_request)
1656
+ @request_time = args[:request_time] if args.key?(:request_time)
1657
+ end
1658
+ end
1659
+ end
1660
+ end
1661
+ end