google-api-client 0.13.0 → 0.13.1

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