google-api-client 0.10.0 → 0.10.1

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