google-api-client 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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