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
@@ -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