google-api-client 0.10.0 → 0.10.1

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 (193) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/api_names.yaml +37747 -36512
  5. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1016 -114
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +426 -22
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +481 -95
  9. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  10. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +27 -10
  11. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  12. data/generated/google/apis/admin_reports_v1.rb +2 -2
  13. data/generated/google/apis/adsense_v1_4.rb +1 -1
  14. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  15. data/generated/google/apis/analytics_v3.rb +1 -1
  16. data/generated/google/apis/analyticsreporting_v4.rb +4 -4
  17. data/generated/google/apis/analyticsreporting_v4/classes.rb +428 -428
  18. data/generated/google/apis/analyticsreporting_v4/representations.rb +108 -108
  19. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  20. data/generated/google/apis/androidenterprise_v1/classes.rb +60 -66
  21. data/generated/google/apis/androidenterprise_v1/service.rb +12 -11
  22. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v2/classes.rb +7 -0
  24. data/generated/google/apis/androidpublisher_v2/representations.rb +1 -0
  25. data/generated/google/apis/androidpublisher_v2/service.rb +1 -1
  26. data/generated/google/apis/appsactivity_v1.rb +3 -3
  27. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  28. data/generated/google/apis/appstate_v1.rb +1 -1
  29. data/generated/google/apis/bigquery_v2.rb +1 -1
  30. data/generated/google/apis/bigquery_v2/classes.rb +34 -8
  31. data/generated/google/apis/bigquery_v2/representations.rb +15 -0
  32. data/generated/google/apis/calendar_v3.rb +1 -1
  33. data/generated/google/apis/calendar_v3/classes.rb +3 -5
  34. data/generated/google/apis/classroom_v1.rb +25 -22
  35. data/generated/google/apis/classroom_v1/classes.rb +910 -1001
  36. data/generated/google/apis/classroom_v1/representations.rb +240 -240
  37. data/generated/google/apis/classroom_v1/service.rb +1064 -1272
  38. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  39. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  40. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  41. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  42. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  43. data/generated/google/apis/cloudbuild_v1/classes.rb +238 -238
  44. data/generated/google/apis/cloudbuild_v1/representations.rb +48 -48
  45. data/generated/google/apis/cloudbuild_v1/service.rb +176 -176
  46. data/generated/google/apis/clouddebugger_v2.rb +4 -4
  47. data/generated/google/apis/clouddebugger_v2/classes.rb +315 -315
  48. data/generated/google/apis/clouddebugger_v2/representations.rb +90 -90
  49. data/generated/google/apis/clouddebugger_v2/service.rb +152 -152
  50. data/generated/google/apis/cloudkms_v1.rb +35 -0
  51. data/generated/google/apis/cloudkms_v1/classes.rb +1039 -0
  52. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  53. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  54. data/generated/google/apis/cloudkms_v1beta1.rb +1 -1
  55. data/generated/google/apis/cloudkms_v1beta1/classes.rb +645 -605
  56. data/generated/google/apis/cloudkms_v1beta1/representations.rb +136 -136
  57. data/generated/google/apis/cloudkms_v1beta1/service.rb +258 -264
  58. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  59. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +677 -456
  61. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +154 -89
  62. data/generated/google/apis/cloudresourcemanager_v1/service.rb +380 -279
  63. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  64. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +247 -114
  65. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +72 -40
  66. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +202 -208
  67. data/generated/google/apis/cloudtrace_v1.rb +4 -4
  68. data/generated/google/apis/cloudtrace_v1/classes.rb +39 -39
  69. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  70. data/generated/google/apis/cloudtrace_v1/service.rb +18 -18
  71. data/generated/google/apis/compute_beta.rb +1 -1
  72. data/generated/google/apis/compute_beta/classes.rb +813 -82
  73. data/generated/google/apis/compute_beta/representations.rb +305 -0
  74. data/generated/google/apis/compute_beta/service.rb +971 -180
  75. data/generated/google/apis/compute_v1.rb +1 -1
  76. data/generated/google/apis/compute_v1/classes.rb +147 -21
  77. data/generated/google/apis/compute_v1/representations.rb +38 -0
  78. data/generated/google/apis/compute_v1/service.rb +347 -65
  79. data/generated/google/apis/content_v2.rb +1 -1
  80. data/generated/google/apis/content_v2/classes.rb +2 -1
  81. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  82. data/generated/google/apis/dataflow_v1b3/classes.rb +3352 -3110
  83. data/generated/google/apis/dataflow_v1b3/representations.rb +812 -730
  84. data/generated/google/apis/dataflow_v1b3/service.rb +264 -183
  85. data/generated/google/apis/dataproc_v1.rb +1 -1
  86. data/generated/google/apis/dataproc_v1/classes.rb +1200 -1164
  87. data/generated/google/apis/dataproc_v1/representations.rb +220 -204
  88. data/generated/google/apis/dataproc_v1/service.rb +299 -299
  89. data/generated/google/apis/datastore_v1.rb +4 -4
  90. data/generated/google/apis/datastore_v1/classes.rb +688 -688
  91. data/generated/google/apis/datastore_v1/representations.rb +167 -167
  92. data/generated/google/apis/datastore_v1/service.rb +68 -68
  93. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  94. data/generated/google/apis/deploymentmanager_v2/classes.rb +13 -3
  95. data/generated/google/apis/dns_v1.rb +1 -1
  96. data/generated/google/apis/dns_v2beta1.rb +1 -1
  97. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  98. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  99. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  100. data/generated/google/apis/drive_v2.rb +1 -1
  101. data/generated/google/apis/drive_v2/classes.rb +487 -15
  102. data/generated/google/apis/drive_v2/representations.rb +120 -0
  103. data/generated/google/apis/drive_v2/service.rb +355 -38
  104. data/generated/google/apis/drive_v3.rb +1 -1
  105. data/generated/google/apis/drive_v3/classes.rb +416 -14
  106. data/generated/google/apis/drive_v3/representations.rb +99 -0
  107. data/generated/google/apis/drive_v3/service.rb +315 -28
  108. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  109. data/generated/google/apis/games_management_v1management.rb +1 -1
  110. data/generated/google/apis/games_v1.rb +1 -1
  111. data/generated/google/apis/genomics_v1.rb +7 -7
  112. data/generated/google/apis/genomics_v1/classes.rb +2301 -2301
  113. data/generated/google/apis/genomics_v1/representations.rb +239 -239
  114. data/generated/google/apis/genomics_v1/service.rb +599 -599
  115. data/generated/google/apis/gmail_v1.rb +2 -2
  116. data/generated/google/apis/gmail_v1/service.rb +18 -1
  117. data/generated/google/apis/groupssettings_v1.rb +1 -1
  118. data/generated/google/apis/iam_v1.rb +1 -1
  119. data/generated/google/apis/iam_v1/classes.rb +440 -440
  120. data/generated/google/apis/iam_v1/representations.rb +96 -96
  121. data/generated/google/apis/iam_v1/service.rb +150 -150
  122. data/generated/google/apis/kgsearch_v1/service.rb +13 -13
  123. data/generated/google/apis/language_v1beta1.rb +1 -1
  124. data/generated/google/apis/language_v1beta1/classes.rb +235 -235
  125. data/generated/google/apis/language_v1beta1/representations.rb +73 -73
  126. data/generated/google/apis/language_v1beta1/service.rb +49 -49
  127. data/generated/google/apis/licensing_v1.rb +1 -1
  128. data/generated/google/apis/logging_v2beta1.rb +1 -1
  129. data/generated/google/apis/logging_v2beta1/classes.rb +888 -879
  130. data/generated/google/apis/logging_v2beta1/representations.rb +129 -129
  131. data/generated/google/apis/logging_v2beta1/service.rb +315 -316
  132. data/generated/google/apis/manufacturers_v1/classes.rb +139 -139
  133. data/generated/google/apis/manufacturers_v1/representations.rb +30 -30
  134. data/generated/google/apis/manufacturers_v1/service.rb +32 -32
  135. data/generated/google/apis/monitoring_v3.rb +4 -4
  136. data/generated/google/apis/monitoring_v3/classes.rb +229 -229
  137. data/generated/google/apis/monitoring_v3/representations.rb +45 -45
  138. data/generated/google/apis/monitoring_v3/service.rb +141 -141
  139. data/generated/google/apis/partners_v2.rb +3 -3
  140. data/generated/google/apis/partners_v2/classes.rb +1837 -483
  141. data/generated/google/apis/partners_v2/representations.rb +614 -157
  142. data/generated/google/apis/partners_v2/service.rb +881 -150
  143. data/generated/google/apis/people_v1.rb +1 -1
  144. data/generated/google/apis/people_v1/classes.rb +517 -465
  145. data/generated/google/apis/people_v1/representations.rb +138 -107
  146. data/generated/google/apis/people_v1/service.rb +56 -49
  147. data/generated/google/apis/plus_domains_v1.rb +1 -1
  148. data/generated/google/apis/plus_v1.rb +1 -1
  149. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  150. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +529 -458
  151. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +98 -97
  152. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +494 -370
  153. data/generated/google/apis/pubsub_v1.rb +4 -4
  154. data/generated/google/apis/pubsub_v1/classes.rb +203 -203
  155. data/generated/google/apis/pubsub_v1/representations.rb +65 -65
  156. data/generated/google/apis/pubsub_v1/service.rb +226 -217
  157. data/generated/google/apis/reseller_v1.rb +1 -1
  158. data/generated/google/apis/reseller_v1/classes.rb +213 -61
  159. data/generated/google/apis/reseller_v1/representations.rb +27 -0
  160. data/generated/google/apis/reseller_v1/service.rb +240 -47
  161. data/generated/google/apis/script_v1.rb +14 -14
  162. data/generated/google/apis/script_v1/classes.rb +95 -95
  163. data/generated/google/apis/script_v1/representations.rb +25 -25
  164. data/generated/google/apis/sheets_v4.rb +1 -1
  165. data/generated/google/apis/sheets_v4/classes.rb +4346 -4300
  166. data/generated/google/apis/sheets_v4/representations.rb +853 -837
  167. data/generated/google/apis/sheets_v4/service.rb +32 -32
  168. data/generated/google/apis/slides_v1.rb +1 -1
  169. data/generated/google/apis/slides_v1/classes.rb +804 -748
  170. data/generated/google/apis/slides_v1/representations.rb +204 -187
  171. data/generated/google/apis/slides_v1/service.rb +16 -16
  172. data/generated/google/apis/speech_v1beta1.rb +1 -1
  173. data/generated/google/apis/speech_v1beta1/classes.rb +57 -57
  174. data/generated/google/apis/speech_v1beta1/representations.rb +19 -19
  175. data/generated/google/apis/speech_v1beta1/service.rb +66 -66
  176. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  177. data/generated/google/apis/sqladmin_v1beta4/classes.rb +32 -7
  178. data/generated/google/apis/sqladmin_v1beta4/representations.rb +16 -0
  179. data/generated/google/apis/sqladmin_v1beta4/service.rb +9 -2
  180. data/generated/google/apis/storage_v1.rb +1 -1
  181. data/generated/google/apis/storage_v1/service.rb +10 -7
  182. data/generated/google/apis/vision_v1.rb +1 -1
  183. data/generated/google/apis/vision_v1/classes.rb +1393 -865
  184. data/generated/google/apis/vision_v1/representations.rb +367 -102
  185. data/generated/google/apis/vision_v1/service.rb +4 -4
  186. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  187. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  188. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  189. data/generated/google/apis/youtubereporting_v1/classes.rb +93 -93
  190. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  191. data/generated/google/apis/youtubereporting_v1/service.rb +108 -108
  192. data/lib/google/apis/version.rb +1 -1
  193. metadata +34 -30
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/kms/
27
27
  module CloudkmsV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20170208'
29
+ REVISION = '20170301'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,153 +22,47 @@ module Google
22
22
  module Apis
23
23
  module CloudkmsV1beta1
24
24
 
25
- # Response message for KeyManagementService.Decrypt.
26
- class DecryptResponse
25
+ # Write a Cloud Audit log
26
+ class CloudAuditOptions
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # The decrypted data originally supplied in EncryptRequest.plaintext.
30
- # Corresponds to the JSON property `plaintext`
31
- # @return [String]
32
- attr_accessor :plaintext
33
-
34
29
  def initialize(**args)
35
30
  update!(**args)
36
31
  end
37
32
 
38
33
  # Update properties of this object
39
34
  def update!(**args)
40
- @plaintext = args[:plaintext] if args.key?(:plaintext)
41
35
  end
42
36
  end
43
37
 
44
- # Request message for `TestIamPermissions` method.
45
- class TestIamPermissionsRequest
38
+ # Associates `members` with a `role`.
39
+ class Binding
46
40
  include Google::Apis::Core::Hashable
47
41
 
48
- # The set of permissions to check for the `resource`. Permissions with
49
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
50
- # information see
51
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
52
- # Corresponds to the JSON property `permissions`
42
+ # Specifies the identities requesting access for a Cloud Platform resource.
43
+ # `members` can have the following values:
44
+ # * `allUsers`: A special identifier that represents anyone who is
45
+ # on the internet; with or without a Google account.
46
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
47
+ # who is authenticated with a Google account or a service account.
48
+ # * `user:`emailid``: An email address that represents a specific Google
49
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
50
+ # * `serviceAccount:`emailid``: An email address that represents a service
51
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
52
+ # * `group:`emailid``: An email address that represents a Google group.
53
+ # For example, `admins@example.com`.
54
+ # * `domain:`domain``: A Google Apps domain name that represents all the
55
+ # users of that domain. For example, `google.com` or `example.com`.
56
+ # Corresponds to the JSON property `members`
53
57
  # @return [Array<String>]
54
- attr_accessor :permissions
55
-
56
- def initialize(**args)
57
- update!(**args)
58
- end
59
-
60
- # Update properties of this object
61
- def update!(**args)
62
- @permissions = args[:permissions] if args.key?(:permissions)
63
- end
64
- end
65
-
66
- # Defines an Identity and Access Management (IAM) policy. It is used to
67
- # specify access control policies for Cloud Platform resources.
68
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
69
- # `members` to a `role`, where the members can be user accounts, Google groups,
70
- # Google domains, and service accounts. A `role` is a named list of permissions
71
- # defined by IAM.
72
- # **Example**
73
- # `
74
- # "bindings": [
75
- # `
76
- # "role": "roles/owner",
77
- # "members": [
78
- # "user:mike@example.com",
79
- # "group:admins@example.com",
80
- # "domain:google.com",
81
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
82
- # ]
83
- # `,
84
- # `
85
- # "role": "roles/viewer",
86
- # "members": ["user:sean@example.com"]
87
- # `
88
- # ]
89
- # `
90
- # For a description of IAM and its features, see the
91
- # [IAM developer's guide](https://cloud.google.com/iam).
92
- class Policy
93
- include Google::Apis::Core::Hashable
94
-
95
- #
96
- # Corresponds to the JSON property `iamOwned`
97
- # @return [Boolean]
98
- attr_accessor :iam_owned
99
- alias_method :iam_owned?, :iam_owned
100
-
101
- # If more than one rule is specified, the rules are applied in the following
102
- # manner:
103
- # - All matching LOG rules are always applied.
104
- # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
105
- # Logging will be applied if one or more matching rule requires logging.
106
- # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
107
- # granted.
108
- # Logging will be applied if one or more matching rule requires logging.
109
- # - Otherwise, if no rule applies, permission is denied.
110
- # Corresponds to the JSON property `rules`
111
- # @return [Array<Google::Apis::CloudkmsV1beta1::Rule>]
112
- attr_accessor :rules
113
-
114
- # Version of the `Policy`. The default version is 0.
115
- # Corresponds to the JSON property `version`
116
- # @return [Fixnum]
117
- attr_accessor :version
118
-
119
- # Specifies cloud audit logging configuration for this policy.
120
- # Corresponds to the JSON property `auditConfigs`
121
- # @return [Array<Google::Apis::CloudkmsV1beta1::AuditConfig>]
122
- attr_accessor :audit_configs
123
-
124
- # Associates a list of `members` to a `role`.
125
- # Multiple `bindings` must not be specified for the same `role`.
126
- # `bindings` with no members will result in an error.
127
- # Corresponds to the JSON property `bindings`
128
- # @return [Array<Google::Apis::CloudkmsV1beta1::Binding>]
129
- attr_accessor :bindings
130
-
131
- # `etag` is used for optimistic concurrency control as a way to help
132
- # prevent simultaneous updates of a policy from overwriting each other.
133
- # It is strongly suggested that systems make use of the `etag` in the
134
- # read-modify-write cycle to perform policy updates in order to avoid race
135
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
136
- # systems are expected to put that etag in the request to `setIamPolicy` to
137
- # ensure that their change will be applied to the same version of the policy.
138
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
139
- # policy is overwritten blindly.
140
- # Corresponds to the JSON property `etag`
141
- # @return [String]
142
- attr_accessor :etag
143
-
144
- def initialize(**args)
145
- update!(**args)
146
- end
147
-
148
- # Update properties of this object
149
- def update!(**args)
150
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
151
- @rules = args[:rules] if args.key?(:rules)
152
- @version = args[:version] if args.key?(:version)
153
- @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
154
- @bindings = args[:bindings] if args.key?(:bindings)
155
- @etag = args[:etag] if args.key?(:etag)
156
- end
157
- end
158
-
159
- # Response message for KeyManagementService.Encrypt.
160
- class EncryptResponse
161
- include Google::Apis::Core::Hashable
162
-
163
- # The resource name of the CryptoKeyVersion used in encryption.
164
- # Corresponds to the JSON property `name`
165
- # @return [String]
166
- attr_accessor :name
58
+ attr_accessor :members
167
59
 
168
- # The encrypted data.
169
- # Corresponds to the JSON property `ciphertext`
60
+ # Role that is assigned to `members`.
61
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
62
+ # Required
63
+ # Corresponds to the JSON property `role`
170
64
  # @return [String]
171
- attr_accessor :ciphertext
65
+ attr_accessor :role
172
66
 
173
67
  def initialize(**args)
174
68
  update!(**args)
@@ -176,25 +70,26 @@ module Google
176
70
 
177
71
  # Update properties of this object
178
72
  def update!(**args)
179
- @name = args[:name] if args.key?(:name)
180
- @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
73
+ @members = args[:members] if args.key?(:members)
74
+ @role = args[:role] if args.key?(:role)
181
75
  end
182
76
  end
183
77
 
184
- # A KeyRing is a toplevel logical grouping of CryptoKeys.
185
- class KeyRing
78
+ # Request message for KeyManagementService.Encrypt.
79
+ class EncryptRequest
186
80
  include Google::Apis::Core::Hashable
187
81
 
188
- # Output only. The resource name for the KeyRing in the format
189
- # `projects/*/locations/*/keyRings/*`.
190
- # Corresponds to the JSON property `name`
82
+ # Optional data that, if specified, must also be provided during decryption
83
+ # through DecryptRequest.additional_authenticated_data. Must be no
84
+ # larger than 64KiB.
85
+ # Corresponds to the JSON property `additionalAuthenticatedData`
191
86
  # @return [String]
192
- attr_accessor :name
87
+ attr_accessor :additional_authenticated_data
193
88
 
194
- # Output only. The time at which this KeyRing was created.
195
- # Corresponds to the JSON property `createTime`
89
+ # Required. The data to encrypt. Must be no larger than 64KiB.
90
+ # Corresponds to the JSON property `plaintext`
196
91
  # @return [String]
197
- attr_accessor :create_time
92
+ attr_accessor :plaintext
198
93
 
199
94
  def initialize(**args)
200
95
  update!(**args)
@@ -202,39 +97,32 @@ module Google
202
97
 
203
98
  # Update properties of this object
204
99
  def update!(**args)
205
- @name = args[:name] if args.key?(:name)
206
- @create_time = args[:create_time] if args.key?(:create_time)
100
+ @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
101
+ @plaintext = args[:plaintext] if args.key?(:plaintext)
207
102
  end
208
103
  end
209
104
 
210
- # The response message for Locations.ListLocations.
211
- class ListLocationsResponse
105
+ # Response message for KeyManagementService.ListCryptoKeyVersions.
106
+ class ListCryptoKeyVersionsResponse
212
107
  include Google::Apis::Core::Hashable
213
108
 
214
- # A list of locations that matches the specified filter in the request.
215
- # Corresponds to the JSON property `locations`
216
- # @return [Array<Google::Apis::CloudkmsV1beta1::Location>]
217
- attr_accessor :locations
218
-
219
- # The standard List next-page token.
109
+ # A token to retrieve next page of results. Pass this value in
110
+ # ListCryptoKeyVersionsRequest.page_token to retrieve the next page of
111
+ # results.
220
112
  # Corresponds to the JSON property `nextPageToken`
221
113
  # @return [String]
222
114
  attr_accessor :next_page_token
223
115
 
224
- def initialize(**args)
225
- update!(**args)
226
- end
227
-
228
- # Update properties of this object
229
- def update!(**args)
230
- @locations = args[:locations] if args.key?(:locations)
231
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
232
- end
233
- end
116
+ # The total number of CryptoKeyVersions that matched the
117
+ # query.
118
+ # Corresponds to the JSON property `totalSize`
119
+ # @return [Fixnum]
120
+ attr_accessor :total_size
234
121
 
235
- # Request message for KeyManagementService.RestoreCryptoKeyVersion.
236
- class RestoreCryptoKeyVersionRequest
237
- include Google::Apis::Core::Hashable
122
+ # The list of CryptoKeyVersions.
123
+ # Corresponds to the JSON property `cryptoKeyVersions`
124
+ # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKeyVersion>]
125
+ attr_accessor :crypto_key_versions
238
126
 
239
127
  def initialize(**args)
240
128
  update!(**args)
@@ -242,17 +130,21 @@ module Google
242
130
 
243
131
  # Update properties of this object
244
132
  def update!(**args)
133
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
134
+ @total_size = args[:total_size] if args.key?(:total_size)
135
+ @crypto_key_versions = args[:crypto_key_versions] if args.key?(:crypto_key_versions)
245
136
  end
246
137
  end
247
138
 
248
- # Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.
249
- class UpdateCryptoKeyPrimaryVersionRequest
139
+ # Response message for `TestIamPermissions` method.
140
+ class TestIamPermissionsResponse
250
141
  include Google::Apis::Core::Hashable
251
142
 
252
- # The id of the child CryptoKeyVersion to use as primary.
253
- # Corresponds to the JSON property `cryptoKeyVersionId`
254
- # @return [String]
255
- attr_accessor :crypto_key_version_id
143
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
144
+ # allowed.
145
+ # Corresponds to the JSON property `permissions`
146
+ # @return [Array<String>]
147
+ attr_accessor :permissions
256
148
 
257
149
  def initialize(**args)
258
150
  update!(**args)
@@ -260,12 +152,12 @@ module Google
260
152
 
261
153
  # Update properties of this object
262
154
  def update!(**args)
263
- @crypto_key_version_id = args[:crypto_key_version_id] if args.key?(:crypto_key_version_id)
155
+ @permissions = args[:permissions] if args.key?(:permissions)
264
156
  end
265
157
  end
266
158
 
267
- # Write a Data Access (Gin) log
268
- class DataAccessOptions
159
+ # Request message for KeyManagementService.DestroyCryptoKeyVersion.
160
+ class DestroyCryptoKeyVersionRequest
269
161
  include Google::Apis::Core::Hashable
270
162
 
271
163
  def initialize(**args)
@@ -277,25 +169,56 @@ module Google
277
169
  end
278
170
  end
279
171
 
280
- # Response message for KeyManagementService.ListKeyRings.
281
- class ListKeyRingsResponse
172
+ # A CryptoKey represents a logical key that can be used for cryptographic
173
+ # operations.
174
+ # A CryptoKey is made up of one or more versions, which
175
+ # represent the actual key material used in cryptographic operations.
176
+ class CryptoKey
282
177
  include Google::Apis::Core::Hashable
283
178
 
284
- # A token to retrieve next page of results. Pass this value in
285
- # ListKeyRingsRequest.page_token to retrieve the next page of results.
286
- # Corresponds to the JSON property `nextPageToken`
179
+ # Output only. The time at which this CryptoKey was created.
180
+ # Corresponds to the JSON property `createTime`
287
181
  # @return [String]
288
- attr_accessor :next_page_token
182
+ attr_accessor :create_time
289
183
 
290
- # The total number of KeyRings that matched the query.
291
- # Corresponds to the JSON property `totalSize`
292
- # @return [Fixnum]
293
- attr_accessor :total_size
184
+ # next_rotation_time will be advanced by this period when the service
185
+ # automatically rotates a key. Must be at least one day.
186
+ # If rotation_period is set, next_rotation_time must also be set.
187
+ # Corresponds to the JSON property `rotationPeriod`
188
+ # @return [String]
189
+ attr_accessor :rotation_period
294
190
 
295
- # The list of KeyRings.
296
- # Corresponds to the JSON property `keyRings`
297
- # @return [Array<Google::Apis::CloudkmsV1beta1::KeyRing>]
298
- attr_accessor :key_rings
191
+ # A CryptoKeyVersion represents an individual cryptographic key, and the
192
+ # associated key material.
193
+ # It can be used for cryptographic operations either directly, or via its
194
+ # parent CryptoKey, in which case the server will choose the appropriate
195
+ # version for the operation.
196
+ # Corresponds to the JSON property `primary`
197
+ # @return [Google::Apis::CloudkmsV1beta1::CryptoKeyVersion]
198
+ attr_accessor :primary
199
+
200
+ # Output only. The resource name for this CryptoKey in the format
201
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
202
+ # Corresponds to the JSON property `name`
203
+ # @return [String]
204
+ attr_accessor :name
205
+
206
+ # The immutable purpose of this CryptoKey. Currently, the only acceptable
207
+ # purpose is ENCRYPT_DECRYPT.
208
+ # Corresponds to the JSON property `purpose`
209
+ # @return [String]
210
+ attr_accessor :purpose
211
+
212
+ # At next_rotation_time, the Key Management Service will automatically:
213
+ # 1. Create a new version of this CryptoKey.
214
+ # 2. Mark the new version as primary.
215
+ # Key rotations performed manually via
216
+ # CreateCryptoKeyVersion and
217
+ # UpdateCryptoKeyPrimaryVersion
218
+ # do not affect next_rotation_time.
219
+ # Corresponds to the JSON property `nextRotationTime`
220
+ # @return [String]
221
+ attr_accessor :next_rotation_time
299
222
 
300
223
  def initialize(**args)
301
224
  update!(**args)
@@ -303,39 +226,60 @@ module Google
303
226
 
304
227
  # Update properties of this object
305
228
  def update!(**args)
306
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
307
- @total_size = args[:total_size] if args.key?(:total_size)
308
- @key_rings = args[:key_rings] if args.key?(:key_rings)
229
+ @create_time = args[:create_time] if args.key?(:create_time)
230
+ @rotation_period = args[:rotation_period] if args.key?(:rotation_period)
231
+ @primary = args[:primary] if args.key?(:primary)
232
+ @name = args[:name] if args.key?(:name)
233
+ @purpose = args[:purpose] if args.key?(:purpose)
234
+ @next_rotation_time = args[:next_rotation_time] if args.key?(:next_rotation_time)
309
235
  end
310
236
  end
311
237
 
312
- # Specifies the audit configuration for a service.
313
- # It consists of which permission types are logged, and what identities, if
314
- # any, are exempted from logging.
315
- # An AuditConifg must have one or more AuditLogConfigs.
316
- class AuditConfig
238
+ # A rule to be applied in a Policy.
239
+ class Rule
317
240
  include Google::Apis::Core::Hashable
318
241
 
319
- # Specifies the identities that are exempted from "data access" audit
320
- # logging for the `service` specified above.
321
- # Follows the same format of Binding.members.
322
- # This field is deprecated in favor of per-permission-type exemptions.
323
- # Corresponds to the JSON property `exemptedMembers`
242
+ # A permission is a string of form '<service>.<resource type>.<verb>'
243
+ # (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
244
+ # and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
245
+ # Corresponds to the JSON property `permissions`
324
246
  # @return [Array<String>]
325
- attr_accessor :exempted_members
247
+ attr_accessor :permissions
326
248
 
327
- # Specifies a service that will be enabled for audit logging.
328
- # For example, `resourcemanager`, `storage`, `compute`.
329
- # `allServices` is a special value that covers all services.
330
- # Corresponds to the JSON property `service`
249
+ # Required
250
+ # Corresponds to the JSON property `action`
331
251
  # @return [String]
332
- attr_accessor :service
252
+ attr_accessor :action
333
253
 
334
- # The configuration for logging of each type of permission.
335
- # Next ID: 4
336
- # Corresponds to the JSON property `auditLogConfigs`
337
- # @return [Array<Google::Apis::CloudkmsV1beta1::AuditLogConfig>]
338
- attr_accessor :audit_log_configs
254
+ # If one or more 'not_in' clauses are specified, the rule matches
255
+ # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
256
+ # The format for in and not_in entries is the same as for members in a
257
+ # Binding (see google/iam/v1/policy.proto).
258
+ # Corresponds to the JSON property `notIn`
259
+ # @return [Array<String>]
260
+ attr_accessor :not_in
261
+
262
+ # Human-readable description of the rule.
263
+ # Corresponds to the JSON property `description`
264
+ # @return [String]
265
+ attr_accessor :description
266
+
267
+ # Additional restrictions that must be met
268
+ # Corresponds to the JSON property `conditions`
269
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Condition>]
270
+ attr_accessor :conditions
271
+
272
+ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
273
+ # that match the LOG action.
274
+ # Corresponds to the JSON property `logConfig`
275
+ # @return [Array<Google::Apis::CloudkmsV1beta1::LogConfig>]
276
+ attr_accessor :log_config
277
+
278
+ # If one or more 'in' clauses are specified, the rule matches if
279
+ # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
280
+ # Corresponds to the JSON property `in`
281
+ # @return [Array<String>]
282
+ attr_accessor :in
339
283
 
340
284
  def initialize(**args)
341
285
  update!(**args)
@@ -343,49 +287,51 @@ module Google
343
287
 
344
288
  # Update properties of this object
345
289
  def update!(**args)
346
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
347
- @service = args[:service] if args.key?(:service)
348
- @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
290
+ @permissions = args[:permissions] if args.key?(:permissions)
291
+ @action = args[:action] if args.key?(:action)
292
+ @not_in = args[:not_in] if args.key?(:not_in)
293
+ @description = args[:description] if args.key?(:description)
294
+ @conditions = args[:conditions] if args.key?(:conditions)
295
+ @log_config = args[:log_config] if args.key?(:log_config)
296
+ @in = args[:in] if args.key?(:in)
349
297
  end
350
298
  end
351
299
 
352
- # A CryptoKeyVersion represents an individual cryptographic key, and the
353
- # associated key material.
354
- # It can be used for cryptographic operations either directly, or via its
355
- # parent CryptoKey, in which case the server will choose the appropriate
356
- # version for the operation.
357
- class CryptoKeyVersion
300
+ # Specifies what kind of log the caller must write
301
+ # Increment a streamz counter with the specified metric and field names.
302
+ # Metric names should start with a '/', generally be lowercase-only,
303
+ # and end in "_count". Field names should not contain an initial slash.
304
+ # The actual exported metric names will have "/iam/policy" prepended.
305
+ # Field names correspond to IAM request parameters and field values are
306
+ # their respective values.
307
+ # At present the only supported field names are
308
+ # - "iam_principal", corresponding to IAMContext.principal;
309
+ # - "" (empty string), resulting in one aggretated counter with no field.
310
+ # Examples:
311
+ # counter ` metric: "/debug_access_count" field: "iam_principal" `
312
+ # ==> increment counter /iam/policy/backend_debug_access_count
313
+ # `iam_principal=[value of IAMContext.principal]`
314
+ # At this time we do not support:
315
+ # * multiple field names (though this may be supported in the future)
316
+ # * decrementing the counter
317
+ # * incrementing it by anything other than 1
318
+ class LogConfig
358
319
  include Google::Apis::Core::Hashable
359
320
 
360
- # Output only. The time this CryptoKeyVersion's key material is scheduled
361
- # for destruction. Only present if state is
362
- # DESTROY_SCHEDULED.
363
- # Corresponds to the JSON property `destroyTime`
364
- # @return [String]
365
- attr_accessor :destroy_time
366
-
367
- # Output only. The time at which this CryptoKeyVersion was created.
368
- # Corresponds to the JSON property `createTime`
369
- # @return [String]
370
- attr_accessor :create_time
371
-
372
- # The current state of the CryptoKeyVersion.
373
- # Corresponds to the JSON property `state`
374
- # @return [String]
375
- attr_accessor :state
321
+ # Write a Data Access (Gin) log
322
+ # Corresponds to the JSON property `dataAccess`
323
+ # @return [Google::Apis::CloudkmsV1beta1::DataAccessOptions]
324
+ attr_accessor :data_access
376
325
 
377
- # Output only. The resource name for this CryptoKeyVersion in the format
378
- # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
379
- # Corresponds to the JSON property `name`
380
- # @return [String]
381
- attr_accessor :name
326
+ # Write a Cloud Audit log
327
+ # Corresponds to the JSON property `cloudAudit`
328
+ # @return [Google::Apis::CloudkmsV1beta1::CloudAuditOptions]
329
+ attr_accessor :cloud_audit
382
330
 
383
- # Output only. The time this CryptoKeyVersion's key material was
384
- # destroyed. Only present if state is
385
- # DESTROYED.
386
- # Corresponds to the JSON property `destroyEventTime`
387
- # @return [String]
388
- attr_accessor :destroy_event_time
331
+ # Options for counters
332
+ # Corresponds to the JSON property `counter`
333
+ # @return [Google::Apis::CloudkmsV1beta1::CounterOptions]
334
+ attr_accessor :counter
389
335
 
390
336
  def initialize(**args)
391
337
  update!(**args)
@@ -393,55 +339,81 @@ module Google
393
339
 
394
340
  # Update properties of this object
395
341
  def update!(**args)
396
- @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
397
- @create_time = args[:create_time] if args.key?(:create_time)
398
- @state = args[:state] if args.key?(:state)
399
- @name = args[:name] if args.key?(:name)
400
- @destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
342
+ @data_access = args[:data_access] if args.key?(:data_access)
343
+ @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
344
+ @counter = args[:counter] if args.key?(:counter)
401
345
  end
402
346
  end
403
347
 
404
- # Write a Cloud Audit log
405
- class CloudAuditOptions
348
+ # Request message for `SetIamPolicy` method.
349
+ class SetIamPolicyRequest
406
350
  include Google::Apis::Core::Hashable
407
351
 
352
+ # Defines an Identity and Access Management (IAM) policy. It is used to
353
+ # specify access control policies for Cloud Platform resources.
354
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
355
+ # `members` to a `role`, where the members can be user accounts, Google groups,
356
+ # Google domains, and service accounts. A `role` is a named list of permissions
357
+ # defined by IAM.
358
+ # **Example**
359
+ # `
360
+ # "bindings": [
361
+ # `
362
+ # "role": "roles/owner",
363
+ # "members": [
364
+ # "user:mike@example.com",
365
+ # "group:admins@example.com",
366
+ # "domain:google.com",
367
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
368
+ # ]
369
+ # `,
370
+ # `
371
+ # "role": "roles/viewer",
372
+ # "members": ["user:sean@example.com"]
373
+ # `
374
+ # ]
375
+ # `
376
+ # For a description of IAM and its features, see the
377
+ # [IAM developer's guide](https://cloud.google.com/iam).
378
+ # Corresponds to the JSON property `policy`
379
+ # @return [Google::Apis::CloudkmsV1beta1::Policy]
380
+ attr_accessor :policy
381
+
382
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
383
+ # the fields in the mask will be modified. If no mask is provided, a default
384
+ # mask is used:
385
+ # paths: "bindings, etag"
386
+ # This field is only used by Cloud IAM.
387
+ # Corresponds to the JSON property `updateMask`
388
+ # @return [String]
389
+ attr_accessor :update_mask
390
+
408
391
  def initialize(**args)
409
392
  update!(**args)
410
393
  end
411
394
 
412
395
  # Update properties of this object
413
396
  def update!(**args)
397
+ @policy = args[:policy] if args.key?(:policy)
398
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
414
399
  end
415
400
  end
416
401
 
417
- # Associates `members` with a `role`.
418
- class Binding
402
+ # Request message for KeyManagementService.Decrypt.
403
+ class DecryptRequest
419
404
  include Google::Apis::Core::Hashable
420
405
 
421
- # Specifies the identities requesting access for a Cloud Platform resource.
422
- # `members` can have the following values:
423
- # * `allUsers`: A special identifier that represents anyone who is
424
- # on the internet; with or without a Google account.
425
- # * `allAuthenticatedUsers`: A special identifier that represents anyone
426
- # who is authenticated with a Google account or a service account.
427
- # * `user:`emailid``: An email address that represents a specific Google
428
- # account. For example, `alice@gmail.com` or `joe@example.com`.
429
- # * `serviceAccount:`emailid``: An email address that represents a service
430
- # account. For example, `my-other-app@appspot.gserviceaccount.com`.
431
- # * `group:`emailid``: An email address that represents a Google group.
432
- # For example, `admins@example.com`.
433
- # * `domain:`domain``: A Google Apps domain name that represents all the
434
- # users of that domain. For example, `google.com` or `example.com`.
435
- # Corresponds to the JSON property `members`
436
- # @return [Array<String>]
437
- attr_accessor :members
406
+ # Required. The encrypted data originally returned in
407
+ # EncryptResponse.ciphertext.
408
+ # Corresponds to the JSON property `ciphertext`
409
+ # @return [String]
410
+ attr_accessor :ciphertext
438
411
 
439
- # Role that is assigned to `members`.
440
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
441
- # Required
442
- # Corresponds to the JSON property `role`
412
+ # Optional data that must match the data originally supplied in
413
+ # EncryptRequest.additional_authenticated_data.
414
+ # Corresponds to the JSON property `additionalAuthenticatedData`
443
415
  # @return [String]
444
- attr_accessor :role
416
+ attr_accessor :additional_authenticated_data
445
417
 
446
418
  def initialize(**args)
447
419
  update!(**args)
@@ -449,26 +421,37 @@ module Google
449
421
 
450
422
  # Update properties of this object
451
423
  def update!(**args)
452
- @members = args[:members] if args.key?(:members)
453
- @role = args[:role] if args.key?(:role)
424
+ @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
425
+ @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
454
426
  end
455
427
  end
456
428
 
457
- # Request message for KeyManagementService.Encrypt.
458
- class EncryptRequest
429
+ # A resource that represents Google Cloud Platform location.
430
+ class Location
459
431
  include Google::Apis::Core::Hashable
460
432
 
461
- # Required. The data to encrypt. Must be no larger than 64KiB.
462
- # Corresponds to the JSON property `plaintext`
433
+ # Resource name for the location, which may vary between implementations.
434
+ # For example: `"projects/example-project/locations/us-east1"`
435
+ # Corresponds to the JSON property `name`
463
436
  # @return [String]
464
- attr_accessor :plaintext
437
+ attr_accessor :name
465
438
 
466
- # Optional data that, if specified, must also be provided during decryption
467
- # through DecryptRequest.additional_authenticated_data. Must be no
468
- # larger than 64KiB.
469
- # Corresponds to the JSON property `additionalAuthenticatedData`
439
+ # The canonical id for this location. For example: `"us-east1"`.
440
+ # Corresponds to the JSON property `locationId`
470
441
  # @return [String]
471
- attr_accessor :additional_authenticated_data
442
+ attr_accessor :location_id
443
+
444
+ # Service-specific metadata. For example the available capacity at the given
445
+ # location.
446
+ # Corresponds to the JSON property `metadata`
447
+ # @return [Hash<String,Object>]
448
+ attr_accessor :metadata
449
+
450
+ # Cross-service attributes for the location. For example
451
+ # `"cloud.googleapis.com/region": "us-east1"`
452
+ # Corresponds to the JSON property `labels`
453
+ # @return [Hash<String,String>]
454
+ attr_accessor :labels
472
455
 
473
456
  def initialize(**args)
474
457
  update!(**args)
@@ -476,29 +459,29 @@ module Google
476
459
 
477
460
  # Update properties of this object
478
461
  def update!(**args)
479
- @plaintext = args[:plaintext] if args.key?(:plaintext)
480
- @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
462
+ @name = args[:name] if args.key?(:name)
463
+ @location_id = args[:location_id] if args.key?(:location_id)
464
+ @metadata = args[:metadata] if args.key?(:metadata)
465
+ @labels = args[:labels] if args.key?(:labels)
481
466
  end
482
467
  end
483
468
 
484
- # Response message for KeyManagementService.ListCryptoKeyVersions.
485
- class ListCryptoKeyVersionsResponse
469
+ # Response message for KeyManagementService.ListCryptoKeys.
470
+ class ListCryptoKeysResponse
486
471
  include Google::Apis::Core::Hashable
487
472
 
488
- # The list of CryptoKeyVersions.
489
- # Corresponds to the JSON property `cryptoKeyVersions`
490
- # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKeyVersion>]
491
- attr_accessor :crypto_key_versions
492
-
493
473
  # A token to retrieve next page of results. Pass this value in
494
- # ListCryptoKeyVersionsRequest.page_token to retrieve the next page of
495
- # results.
474
+ # ListCryptoKeysRequest.page_token to retrieve the next page of results.
496
475
  # Corresponds to the JSON property `nextPageToken`
497
476
  # @return [String]
498
477
  attr_accessor :next_page_token
499
478
 
500
- # The total number of CryptoKeyVersions that matched the
501
- # query.
479
+ # The list of CryptoKeys.
480
+ # Corresponds to the JSON property `cryptoKeys`
481
+ # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKey>]
482
+ attr_accessor :crypto_keys
483
+
484
+ # The total number of CryptoKeys that matched the query.
502
485
  # Corresponds to the JSON property `totalSize`
503
486
  # @return [Fixnum]
504
487
  attr_accessor :total_size
@@ -509,21 +492,46 @@ module Google
509
492
 
510
493
  # Update properties of this object
511
494
  def update!(**args)
512
- @crypto_key_versions = args[:crypto_key_versions] if args.key?(:crypto_key_versions)
513
495
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
496
+ @crypto_keys = args[:crypto_keys] if args.key?(:crypto_keys)
514
497
  @total_size = args[:total_size] if args.key?(:total_size)
515
498
  end
516
499
  end
517
500
 
518
- # Response message for `TestIamPermissions` method.
519
- class TestIamPermissionsResponse
501
+ # A condition to be met.
502
+ class Condition
520
503
  include Google::Apis::Core::Hashable
521
504
 
522
- # A subset of `TestPermissionsRequest.permissions` that the caller is
523
- # allowed.
524
- # Corresponds to the JSON property `permissions`
505
+ # Trusted attributes supplied by any service that owns resources and uses
506
+ # the IAM system for access control.
507
+ # Corresponds to the JSON property `sys`
508
+ # @return [String]
509
+ attr_accessor :sys
510
+
511
+ # DEPRECATED. Use 'values' instead.
512
+ # Corresponds to the JSON property `value`
513
+ # @return [String]
514
+ attr_accessor :value
515
+
516
+ # The objects of the condition. This is mutually exclusive with 'value'.
517
+ # Corresponds to the JSON property `values`
525
518
  # @return [Array<String>]
526
- attr_accessor :permissions
519
+ attr_accessor :values
520
+
521
+ # Trusted attributes supplied by the IAM system.
522
+ # Corresponds to the JSON property `iam`
523
+ # @return [String]
524
+ attr_accessor :iam
525
+
526
+ # An operator to apply the subject with.
527
+ # Corresponds to the JSON property `op`
528
+ # @return [String]
529
+ attr_accessor :op
530
+
531
+ # Trusted attributes discharged by the service.
532
+ # Corresponds to the JSON property `svc`
533
+ # @return [String]
534
+ attr_accessor :svc
527
535
 
528
536
  def initialize(**args)
529
537
  update!(**args)
@@ -531,186 +539,188 @@ module Google
531
539
 
532
540
  # Update properties of this object
533
541
  def update!(**args)
534
- @permissions = args[:permissions] if args.key?(:permissions)
542
+ @sys = args[:sys] if args.key?(:sys)
543
+ @value = args[:value] if args.key?(:value)
544
+ @values = args[:values] if args.key?(:values)
545
+ @iam = args[:iam] if args.key?(:iam)
546
+ @op = args[:op] if args.key?(:op)
547
+ @svc = args[:svc] if args.key?(:svc)
535
548
  end
536
549
  end
537
550
 
538
- # Request message for KeyManagementService.DestroyCryptoKeyVersion.
539
- class DestroyCryptoKeyVersionRequest
551
+ # Options for counters
552
+ class CounterOptions
540
553
  include Google::Apis::Core::Hashable
541
554
 
555
+ # The metric to update.
556
+ # Corresponds to the JSON property `metric`
557
+ # @return [String]
558
+ attr_accessor :metric
559
+
560
+ # The field value to attribute.
561
+ # Corresponds to the JSON property `field`
562
+ # @return [String]
563
+ attr_accessor :field
564
+
542
565
  def initialize(**args)
543
566
  update!(**args)
544
567
  end
545
568
 
546
569
  # Update properties of this object
547
570
  def update!(**args)
571
+ @metric = args[:metric] if args.key?(:metric)
572
+ @field = args[:field] if args.key?(:field)
548
573
  end
549
574
  end
550
575
 
551
- # A rule to be applied in a Policy.
552
- class Rule
576
+ # Provides the configuration for logging a type of permissions.
577
+ # Example:
578
+ # `
579
+ # "audit_log_configs": [
580
+ # `
581
+ # "log_type": "DATA_READ",
582
+ # "exempted_members": [
583
+ # "user:foo@gmail.com"
584
+ # ]
585
+ # `,
586
+ # `
587
+ # "log_type": "DATA_WRITE",
588
+ # `
589
+ # ]
590
+ # `
591
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
592
+ # foo@gmail.com from DATA_READ logging.
593
+ class AuditLogConfig
553
594
  include Google::Apis::Core::Hashable
554
595
 
555
- # If one or more 'not_in' clauses are specified, the rule matches
556
- # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
557
- # The format for in and not_in entries is the same as for members in a
558
- # Binding (see google/iam/v1/policy.proto).
559
- # Corresponds to the JSON property `notIn`
596
+ # Specifies the identities that do not cause logging for this type of
597
+ # permission.
598
+ # Follows the same format of Binding.members.
599
+ # Corresponds to the JSON property `exemptedMembers`
560
600
  # @return [Array<String>]
561
- attr_accessor :not_in
601
+ attr_accessor :exempted_members
562
602
 
563
- # Human-readable description of the rule.
564
- # Corresponds to the JSON property `description`
603
+ # The log type that this config enables.
604
+ # Corresponds to the JSON property `logType`
565
605
  # @return [String]
566
- attr_accessor :description
606
+ attr_accessor :log_type
567
607
 
568
- # Additional restrictions that must be met
569
- # Corresponds to the JSON property `conditions`
570
- # @return [Array<Google::Apis::CloudkmsV1beta1::Condition>]
571
- attr_accessor :conditions
608
+ def initialize(**args)
609
+ update!(**args)
610
+ end
572
611
 
573
- # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
574
- # that match the LOG action.
575
- # Corresponds to the JSON property `logConfig`
576
- # @return [Array<Google::Apis::CloudkmsV1beta1::LogConfig>]
577
- attr_accessor :log_config
612
+ # Update properties of this object
613
+ def update!(**args)
614
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
615
+ @log_type = args[:log_type] if args.key?(:log_type)
616
+ end
617
+ end
618
+
619
+ # Response message for KeyManagementService.Decrypt.
620
+ class DecryptResponse
621
+ include Google::Apis::Core::Hashable
622
+
623
+ # The decrypted data originally supplied in EncryptRequest.plaintext.
624
+ # Corresponds to the JSON property `plaintext`
625
+ # @return [String]
626
+ attr_accessor :plaintext
627
+
628
+ def initialize(**args)
629
+ update!(**args)
630
+ end
631
+
632
+ # Update properties of this object
633
+ def update!(**args)
634
+ @plaintext = args[:plaintext] if args.key?(:plaintext)
635
+ end
636
+ end
578
637
 
579
- # If one or more 'in' clauses are specified, the rule matches if
580
- # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
581
- # Corresponds to the JSON property `in`
582
- # @return [Array<String>]
583
- attr_accessor :in
638
+ # Request message for `TestIamPermissions` method.
639
+ class TestIamPermissionsRequest
640
+ include Google::Apis::Core::Hashable
584
641
 
585
- # A permission is a string of form '<service>.<resource type>.<verb>'
586
- # (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
587
- # and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
642
+ # The set of permissions to check for the `resource`. Permissions with
643
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
644
+ # information see
645
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
588
646
  # Corresponds to the JSON property `permissions`
589
647
  # @return [Array<String>]
590
648
  attr_accessor :permissions
591
649
 
592
- # Required
593
- # Corresponds to the JSON property `action`
594
- # @return [String]
595
- attr_accessor :action
596
-
597
650
  def initialize(**args)
598
651
  update!(**args)
599
652
  end
600
653
 
601
654
  # Update properties of this object
602
655
  def update!(**args)
603
- @not_in = args[:not_in] if args.key?(:not_in)
604
- @description = args[:description] if args.key?(:description)
605
- @conditions = args[:conditions] if args.key?(:conditions)
606
- @log_config = args[:log_config] if args.key?(:log_config)
607
- @in = args[:in] if args.key?(:in)
608
656
  @permissions = args[:permissions] if args.key?(:permissions)
609
- @action = args[:action] if args.key?(:action)
610
657
  end
611
658
  end
612
659
 
613
- # A CryptoKey represents a logical key that can be used for cryptographic
614
- # operations.
615
- # A CryptoKey is made up of one or more versions, which
616
- # represent the actual key material used in cryptographic operations.
617
- class CryptoKey
660
+ # A KeyRing is a toplevel logical grouping of CryptoKeys.
661
+ class KeyRing
618
662
  include Google::Apis::Core::Hashable
619
663
 
620
- # The immutable purpose of this CryptoKey. Currently, the only acceptable
621
- # purpose is ENCRYPT_DECRYPT.
622
- # Corresponds to the JSON property `purpose`
623
- # @return [String]
624
- attr_accessor :purpose
625
-
626
- # At next_rotation_time, the Key Management Service will automatically:
627
- # 1. Create a new version of this CryptoKey.
628
- # 2. Mark the new version as primary.
629
- # Key rotations performed manually via
630
- # CreateCryptoKeyVersion and
631
- # UpdateCryptoKeyPrimaryVersion
632
- # do not affect next_rotation_time.
633
- # Corresponds to the JSON property `nextRotationTime`
634
- # @return [String]
635
- attr_accessor :next_rotation_time
636
-
637
- # Output only. The time at which this CryptoKey was created.
664
+ # Output only. The time at which this KeyRing was created.
638
665
  # Corresponds to the JSON property `createTime`
639
666
  # @return [String]
640
667
  attr_accessor :create_time
641
668
 
642
- # next_rotation_time will be advanced by this period when the service
643
- # automatically rotates a key. Must be at least one day.
644
- # If rotation_period is set, next_rotation_time must also be set.
645
- # Corresponds to the JSON property `rotationPeriod`
669
+ # Output only. The resource name for the KeyRing in the format
670
+ # `projects/*/locations/*/keyRings/*`.
671
+ # Corresponds to the JSON property `name`
646
672
  # @return [String]
647
- attr_accessor :rotation_period
673
+ attr_accessor :name
648
674
 
649
- # A CryptoKeyVersion represents an individual cryptographic key, and the
650
- # associated key material.
651
- # It can be used for cryptographic operations either directly, or via its
652
- # parent CryptoKey, in which case the server will choose the appropriate
653
- # version for the operation.
654
- # Corresponds to the JSON property `primary`
655
- # @return [Google::Apis::CloudkmsV1beta1::CryptoKeyVersion]
656
- attr_accessor :primary
675
+ def initialize(**args)
676
+ update!(**args)
677
+ end
657
678
 
658
- # Output only. The resource name for this CryptoKey in the format
659
- # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
679
+ # Update properties of this object
680
+ def update!(**args)
681
+ @create_time = args[:create_time] if args.key?(:create_time)
682
+ @name = args[:name] if args.key?(:name)
683
+ end
684
+ end
685
+
686
+ # Response message for KeyManagementService.Encrypt.
687
+ class EncryptResponse
688
+ include Google::Apis::Core::Hashable
689
+
690
+ # The resource name of the CryptoKeyVersion used in encryption.
660
691
  # Corresponds to the JSON property `name`
661
692
  # @return [String]
662
693
  attr_accessor :name
663
694
 
695
+ # The encrypted data.
696
+ # Corresponds to the JSON property `ciphertext`
697
+ # @return [String]
698
+ attr_accessor :ciphertext
699
+
664
700
  def initialize(**args)
665
701
  update!(**args)
666
702
  end
667
703
 
668
704
  # Update properties of this object
669
705
  def update!(**args)
670
- @purpose = args[:purpose] if args.key?(:purpose)
671
- @next_rotation_time = args[:next_rotation_time] if args.key?(:next_rotation_time)
672
- @create_time = args[:create_time] if args.key?(:create_time)
673
- @rotation_period = args[:rotation_period] if args.key?(:rotation_period)
674
- @primary = args[:primary] if args.key?(:primary)
675
706
  @name = args[:name] if args.key?(:name)
707
+ @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
676
708
  end
677
709
  end
678
710
 
679
- # Specifies what kind of log the caller must write
680
- # Increment a streamz counter with the specified metric and field names.
681
- # Metric names should start with a '/', generally be lowercase-only,
682
- # and end in "_count". Field names should not contain an initial slash.
683
- # The actual exported metric names will have "/iam/policy" prepended.
684
- # Field names correspond to IAM request parameters and field values are
685
- # their respective values.
686
- # At present the only supported field names are
687
- # - "iam_principal", corresponding to IAMContext.principal;
688
- # - "" (empty string), resulting in one aggretated counter with no field.
689
- # Examples:
690
- # counter ` metric: "/debug_access_count" field: "iam_principal" `
691
- # ==> increment counter /iam/policy/backend_debug_access_count
692
- # `iam_principal=[value of IAMContext.principal]`
693
- # At this time we do not support:
694
- # * multiple field names (though this may be supported in the future)
695
- # * decrementing the counter
696
- # * incrementing it by anything other than 1
697
- class LogConfig
711
+ # The response message for Locations.ListLocations.
712
+ class ListLocationsResponse
698
713
  include Google::Apis::Core::Hashable
699
714
 
700
- # Write a Cloud Audit log
701
- # Corresponds to the JSON property `cloudAudit`
702
- # @return [Google::Apis::CloudkmsV1beta1::CloudAuditOptions]
703
- attr_accessor :cloud_audit
704
-
705
- # Options for counters
706
- # Corresponds to the JSON property `counter`
707
- # @return [Google::Apis::CloudkmsV1beta1::CounterOptions]
708
- attr_accessor :counter
715
+ # A list of locations that matches the specified filter in the request.
716
+ # Corresponds to the JSON property `locations`
717
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Location>]
718
+ attr_accessor :locations
709
719
 
710
- # Write a Data Access (Gin) log
711
- # Corresponds to the JSON property `dataAccess`
712
- # @return [Google::Apis::CloudkmsV1beta1::DataAccessOptions]
713
- attr_accessor :data_access
720
+ # The standard List next-page token.
721
+ # Corresponds to the JSON property `nextPageToken`
722
+ # @return [String]
723
+ attr_accessor :next_page_token
714
724
 
715
725
  def initialize(**args)
716
726
  update!(**args)
@@ -718,54 +728,88 @@ module Google
718
728
 
719
729
  # Update properties of this object
720
730
  def update!(**args)
721
- @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
722
- @counter = args[:counter] if args.key?(:counter)
723
- @data_access = args[:data_access] if args.key?(:data_access)
731
+ @locations = args[:locations] if args.key?(:locations)
732
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
724
733
  end
725
734
  end
726
735
 
727
- # Request message for `SetIamPolicy` method.
728
- class SetIamPolicyRequest
736
+ # Defines an Identity and Access Management (IAM) policy. It is used to
737
+ # specify access control policies for Cloud Platform resources.
738
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
739
+ # `members` to a `role`, where the members can be user accounts, Google groups,
740
+ # Google domains, and service accounts. A `role` is a named list of permissions
741
+ # defined by IAM.
742
+ # **Example**
743
+ # `
744
+ # "bindings": [
745
+ # `
746
+ # "role": "roles/owner",
747
+ # "members": [
748
+ # "user:mike@example.com",
749
+ # "group:admins@example.com",
750
+ # "domain:google.com",
751
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
752
+ # ]
753
+ # `,
754
+ # `
755
+ # "role": "roles/viewer",
756
+ # "members": ["user:sean@example.com"]
757
+ # `
758
+ # ]
759
+ # `
760
+ # For a description of IAM and its features, see the
761
+ # [IAM developer's guide](https://cloud.google.com/iam).
762
+ class Policy
729
763
  include Google::Apis::Core::Hashable
730
764
 
731
- # Defines an Identity and Access Management (IAM) policy. It is used to
732
- # specify access control policies for Cloud Platform resources.
733
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
734
- # `members` to a `role`, where the members can be user accounts, Google groups,
735
- # Google domains, and service accounts. A `role` is a named list of permissions
736
- # defined by IAM.
737
- # **Example**
738
- # `
739
- # "bindings": [
740
- # `
741
- # "role": "roles/owner",
742
- # "members": [
743
- # "user:mike@example.com",
744
- # "group:admins@example.com",
745
- # "domain:google.com",
746
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
747
- # ]
748
- # `,
749
- # `
750
- # "role": "roles/viewer",
751
- # "members": ["user:sean@example.com"]
752
- # `
753
- # ]
754
- # `
755
- # For a description of IAM and its features, see the
756
- # [IAM developer's guide](https://cloud.google.com/iam).
757
- # Corresponds to the JSON property `policy`
758
- # @return [Google::Apis::CloudkmsV1beta1::Policy]
759
- attr_accessor :policy
765
+ # Specifies cloud audit logging configuration for this policy.
766
+ # Corresponds to the JSON property `auditConfigs`
767
+ # @return [Array<Google::Apis::CloudkmsV1beta1::AuditConfig>]
768
+ attr_accessor :audit_configs
760
769
 
761
- # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
762
- # the fields in the mask will be modified. If no mask is provided, a default
763
- # mask is used:
764
- # paths: "bindings, etag"
765
- # This field is only used by Cloud IAM.
766
- # Corresponds to the JSON property `updateMask`
770
+ # Associates a list of `members` to a `role`.
771
+ # Multiple `bindings` must not be specified for the same `role`.
772
+ # `bindings` with no members will result in an error.
773
+ # Corresponds to the JSON property `bindings`
774
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Binding>]
775
+ attr_accessor :bindings
776
+
777
+ # `etag` is used for optimistic concurrency control as a way to help
778
+ # prevent simultaneous updates of a policy from overwriting each other.
779
+ # It is strongly suggested that systems make use of the `etag` in the
780
+ # read-modify-write cycle to perform policy updates in order to avoid race
781
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
782
+ # systems are expected to put that etag in the request to `setIamPolicy` to
783
+ # ensure that their change will be applied to the same version of the policy.
784
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
785
+ # policy is overwritten blindly.
786
+ # Corresponds to the JSON property `etag`
767
787
  # @return [String]
768
- attr_accessor :update_mask
788
+ attr_accessor :etag
789
+
790
+ #
791
+ # Corresponds to the JSON property `iamOwned`
792
+ # @return [Boolean]
793
+ attr_accessor :iam_owned
794
+ alias_method :iam_owned?, :iam_owned
795
+
796
+ # If more than one rule is specified, the rules are applied in the following
797
+ # manner:
798
+ # - All matching LOG rules are always applied.
799
+ # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
800
+ # Logging will be applied if one or more matching rule requires logging.
801
+ # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
802
+ # granted.
803
+ # Logging will be applied if one or more matching rule requires logging.
804
+ # - Otherwise, if no rule applies, permission is denied.
805
+ # Corresponds to the JSON property `rules`
806
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Rule>]
807
+ attr_accessor :rules
808
+
809
+ # Version of the `Policy`. The default version is 0.
810
+ # Corresponds to the JSON property `version`
811
+ # @return [Fixnum]
812
+ attr_accessor :version
769
813
 
770
814
  def initialize(**args)
771
815
  update!(**args)
@@ -773,26 +817,23 @@ module Google
773
817
 
774
818
  # Update properties of this object
775
819
  def update!(**args)
776
- @policy = args[:policy] if args.key?(:policy)
777
- @update_mask = args[:update_mask] if args.key?(:update_mask)
820
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
821
+ @bindings = args[:bindings] if args.key?(:bindings)
822
+ @etag = args[:etag] if args.key?(:etag)
823
+ @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
824
+ @rules = args[:rules] if args.key?(:rules)
825
+ @version = args[:version] if args.key?(:version)
778
826
  end
779
827
  end
780
828
 
781
- # Request message for KeyManagementService.Decrypt.
782
- class DecryptRequest
829
+ # Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.
830
+ class UpdateCryptoKeyPrimaryVersionRequest
783
831
  include Google::Apis::Core::Hashable
784
832
 
785
- # Required. The encrypted data originally returned in
786
- # EncryptResponse.ciphertext.
787
- # Corresponds to the JSON property `ciphertext`
788
- # @return [String]
789
- attr_accessor :ciphertext
790
-
791
- # Optional data that must match the data originally supplied in
792
- # EncryptRequest.additional_authenticated_data.
793
- # Corresponds to the JSON property `additionalAuthenticatedData`
833
+ # The id of the child CryptoKeyVersion to use as primary.
834
+ # Corresponds to the JSON property `cryptoKeyVersionId`
794
835
  # @return [String]
795
- attr_accessor :additional_authenticated_data
836
+ attr_accessor :crypto_key_version_id
796
837
 
797
838
  def initialize(**args)
798
839
  update!(**args)
@@ -800,37 +841,26 @@ module Google
800
841
 
801
842
  # Update properties of this object
802
843
  def update!(**args)
803
- @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
804
- @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
844
+ @crypto_key_version_id = args[:crypto_key_version_id] if args.key?(:crypto_key_version_id)
805
845
  end
806
846
  end
807
847
 
808
- # A resource that represents Google Cloud Platform location.
809
- class Location
848
+ # Request message for KeyManagementService.RestoreCryptoKeyVersion.
849
+ class RestoreCryptoKeyVersionRequest
810
850
  include Google::Apis::Core::Hashable
811
851
 
812
- # Cross-service attributes for the location. For example
813
- # `"cloud.googleapis.com/region": "us-east1"`
814
- # Corresponds to the JSON property `labels`
815
- # @return [Hash<String,String>]
816
- attr_accessor :labels
817
-
818
- # Resource name for the location, which may vary between implementations.
819
- # For example: `"projects/example-project/locations/us-east1"`
820
- # Corresponds to the JSON property `name`
821
- # @return [String]
822
- attr_accessor :name
852
+ def initialize(**args)
853
+ update!(**args)
854
+ end
823
855
 
824
- # The canonical id for this location. For example: `"us-east1"`.
825
- # Corresponds to the JSON property `locationId`
826
- # @return [String]
827
- attr_accessor :location_id
856
+ # Update properties of this object
857
+ def update!(**args)
858
+ end
859
+ end
828
860
 
829
- # Service-specific metadata. For example the available capacity at the given
830
- # location.
831
- # Corresponds to the JSON property `metadata`
832
- # @return [Hash<String,Object>]
833
- attr_accessor :metadata
861
+ # Write a Data Access (Gin) log
862
+ class DataAccessOptions
863
+ include Google::Apis::Core::Hashable
834
864
 
835
865
  def initialize(**args)
836
866
  update!(**args)
@@ -838,33 +868,29 @@ module Google
838
868
 
839
869
  # Update properties of this object
840
870
  def update!(**args)
841
- @labels = args[:labels] if args.key?(:labels)
842
- @name = args[:name] if args.key?(:name)
843
- @location_id = args[:location_id] if args.key?(:location_id)
844
- @metadata = args[:metadata] if args.key?(:metadata)
845
871
  end
846
872
  end
847
873
 
848
- # Response message for KeyManagementService.ListCryptoKeys.
849
- class ListCryptoKeysResponse
874
+ # Response message for KeyManagementService.ListKeyRings.
875
+ class ListKeyRingsResponse
850
876
  include Google::Apis::Core::Hashable
851
877
 
852
878
  # A token to retrieve next page of results. Pass this value in
853
- # ListCryptoKeysRequest.page_token to retrieve the next page of results.
879
+ # ListKeyRingsRequest.page_token to retrieve the next page of results.
854
880
  # Corresponds to the JSON property `nextPageToken`
855
881
  # @return [String]
856
882
  attr_accessor :next_page_token
857
883
 
858
- # The list of CryptoKeys.
859
- # Corresponds to the JSON property `cryptoKeys`
860
- # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKey>]
861
- attr_accessor :crypto_keys
862
-
863
- # The total number of CryptoKeys that matched the query.
884
+ # The total number of KeyRings that matched the query.
864
885
  # Corresponds to the JSON property `totalSize`
865
886
  # @return [Fixnum]
866
887
  attr_accessor :total_size
867
888
 
889
+ # The list of KeyRings.
890
+ # Corresponds to the JSON property `keyRings`
891
+ # @return [Array<Google::Apis::CloudkmsV1beta1::KeyRing>]
892
+ attr_accessor :key_rings
893
+
868
894
  def initialize(**args)
869
895
  update!(**args)
870
896
  end
@@ -872,45 +898,78 @@ module Google
872
898
  # Update properties of this object
873
899
  def update!(**args)
874
900
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
875
- @crypto_keys = args[:crypto_keys] if args.key?(:crypto_keys)
876
901
  @total_size = args[:total_size] if args.key?(:total_size)
902
+ @key_rings = args[:key_rings] if args.key?(:key_rings)
877
903
  end
878
904
  end
879
905
 
880
- # A condition to be met.
881
- class Condition
906
+ # Specifies the audit configuration for a service.
907
+ # It consists of which permission types are logged, and what identities, if
908
+ # any, are exempted from logging.
909
+ # An AuditConifg must have one or more AuditLogConfigs.
910
+ # If there are AuditConfigs for both `allServices` and a specific service,
911
+ # the union of the two AuditConfigs is used for that service: the log_types
912
+ # specified in each AuditConfig are enabled, and the exempted_members in each
913
+ # AuditConfig are exempted.
914
+ # Example Policy with multiple AuditConfigs:
915
+ # `
916
+ # "audit_configs": [
917
+ # `
918
+ # "service": "allServices"
919
+ # "audit_log_configs": [
920
+ # `
921
+ # "log_type": "DATA_READ",
922
+ # "exempted_members": [
923
+ # "user:foo@gmail.com"
924
+ # ]
925
+ # `,
926
+ # `
927
+ # "log_type": "DATA_WRITE",
928
+ # `,
929
+ # `
930
+ # "log_type": "ADMIN_READ",
931
+ # `
932
+ # ]
933
+ # `,
934
+ # `
935
+ # "service": "fooservice@googleapis.com"
936
+ # "audit_log_configs": [
937
+ # `
938
+ # "log_type": "DATA_READ",
939
+ # `,
940
+ # `
941
+ # "log_type": "DATA_WRITE",
942
+ # "exempted_members": [
943
+ # "user:bar@gmail.com"
944
+ # ]
945
+ # `
946
+ # ]
947
+ # `
948
+ # ]
949
+ # `
950
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
951
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
952
+ # bar@gmail.com from DATA_WRITE logging.
953
+ class AuditConfig
882
954
  include Google::Apis::Core::Hashable
883
955
 
884
- # An operator to apply the subject with.
885
- # Corresponds to the JSON property `op`
886
- # @return [String]
887
- attr_accessor :op
888
-
889
- # Trusted attributes discharged by the service.
890
- # Corresponds to the JSON property `svc`
891
- # @return [String]
892
- attr_accessor :svc
893
-
894
- # Trusted attributes supplied by any service that owns resources and uses
895
- # the IAM system for access control.
896
- # Corresponds to the JSON property `sys`
897
- # @return [String]
898
- attr_accessor :sys
956
+ # The configuration for logging of each type of permission.
957
+ # Next ID: 4
958
+ # Corresponds to the JSON property `auditLogConfigs`
959
+ # @return [Array<Google::Apis::CloudkmsV1beta1::AuditLogConfig>]
960
+ attr_accessor :audit_log_configs
899
961
 
900
- # DEPRECATED. Use 'values' instead.
901
- # Corresponds to the JSON property `value`
902
- # @return [String]
903
- attr_accessor :value
962
+ #
963
+ # Corresponds to the JSON property `exemptedMembers`
964
+ # @return [Array<String>]
965
+ attr_accessor :exempted_members
904
966
 
905
- # Trusted attributes supplied by the IAM system.
906
- # Corresponds to the JSON property `iam`
967
+ # Specifies a service that will be enabled for audit logging.
968
+ # For example, `resourcemanager`, `storage`, `compute`.
969
+ # `allServices` is a special value that covers all services.
970
+ # Corresponds to the JSON property `service`
907
971
  # @return [String]
908
- attr_accessor :iam
909
-
910
- # The objects of the condition. This is mutually exclusive with 'value'.
911
- # Corresponds to the JSON property `values`
912
- # @return [Array<String>]
913
- attr_accessor :values
972
+ attr_accessor :service
914
973
 
915
974
  def initialize(**args)
916
975
  update!(**args)
@@ -918,71 +977,49 @@ module Google
918
977
 
919
978
  # Update properties of this object
920
979
  def update!(**args)
921
- @op = args[:op] if args.key?(:op)
922
- @svc = args[:svc] if args.key?(:svc)
923
- @sys = args[:sys] if args.key?(:sys)
924
- @value = args[:value] if args.key?(:value)
925
- @iam = args[:iam] if args.key?(:iam)
926
- @values = args[:values] if args.key?(:values)
980
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
981
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
982
+ @service = args[:service] if args.key?(:service)
927
983
  end
928
984
  end
929
985
 
930
- # Options for counters
931
- class CounterOptions
986
+ # A CryptoKeyVersion represents an individual cryptographic key, and the
987
+ # associated key material.
988
+ # It can be used for cryptographic operations either directly, or via its
989
+ # parent CryptoKey, in which case the server will choose the appropriate
990
+ # version for the operation.
991
+ class CryptoKeyVersion
932
992
  include Google::Apis::Core::Hashable
933
993
 
934
- # The metric to update.
935
- # Corresponds to the JSON property `metric`
994
+ # The current state of the CryptoKeyVersion.
995
+ # Corresponds to the JSON property `state`
936
996
  # @return [String]
937
- attr_accessor :metric
997
+ attr_accessor :state
938
998
 
939
- # The field value to attribute.
940
- # Corresponds to the JSON property `field`
999
+ # Output only. The resource name for this CryptoKeyVersion in the format
1000
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
1001
+ # Corresponds to the JSON property `name`
941
1002
  # @return [String]
942
- attr_accessor :field
943
-
944
- def initialize(**args)
945
- update!(**args)
946
- end
947
-
948
- # Update properties of this object
949
- def update!(**args)
950
- @metric = args[:metric] if args.key?(:metric)
951
- @field = args[:field] if args.key?(:field)
952
- end
953
- end
1003
+ attr_accessor :name
954
1004
 
955
- # Provides the configuration for logging a type of permissions.
956
- # Example:
957
- # `
958
- # "audit_log_configs": [
959
- # `
960
- # "log_type": "DATA_READ",
961
- # "exempted_members": [
962
- # "user:foo@gmail.com"
963
- # ]
964
- # `,
965
- # `
966
- # "log_type": "DATA_WRITE",
967
- # `
968
- # ]
969
- # `
970
- # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
971
- # foo@gmail.com from DATA_READ logging.
972
- class AuditLogConfig
973
- include Google::Apis::Core::Hashable
1005
+ # Output only. The time this CryptoKeyVersion's key material was
1006
+ # destroyed. Only present if state is
1007
+ # DESTROYED.
1008
+ # Corresponds to the JSON property `destroyEventTime`
1009
+ # @return [String]
1010
+ attr_accessor :destroy_event_time
974
1011
 
975
- # Specifies the identities that do not cause logging for this type of
976
- # permission.
977
- # Follows the same format of Binding.members.
978
- # Corresponds to the JSON property `exemptedMembers`
979
- # @return [Array<String>]
980
- attr_accessor :exempted_members
1012
+ # Output only. The time this CryptoKeyVersion's key material is scheduled
1013
+ # for destruction. Only present if state is
1014
+ # DESTROY_SCHEDULED.
1015
+ # Corresponds to the JSON property `destroyTime`
1016
+ # @return [String]
1017
+ attr_accessor :destroy_time
981
1018
 
982
- # The log type that this config enables.
983
- # Corresponds to the JSON property `logType`
1019
+ # Output only. The time at which this CryptoKeyVersion was created.
1020
+ # Corresponds to the JSON property `createTime`
984
1021
  # @return [String]
985
- attr_accessor :log_type
1022
+ attr_accessor :create_time
986
1023
 
987
1024
  def initialize(**args)
988
1025
  update!(**args)
@@ -990,8 +1027,11 @@ module Google
990
1027
 
991
1028
  # Update properties of this object
992
1029
  def update!(**args)
993
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
994
- @log_type = args[:log_type] if args.key?(:log_type)
1030
+ @state = args[:state] if args.key?(:state)
1031
+ @name = args[:name] if args.key?(:name)
1032
+ @destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
1033
+ @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
1034
+ @create_time = args[:create_time] if args.key?(:create_time)
995
1035
  end
996
1036
  end
997
1037
  end