google-api-client 0.13.0 → 0.13.1

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