google-api-client 0.39.4 → 0.39.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +3 -1
  5. data/generated/google/apis/apigee_v1.rb +1 -1
  6. data/generated/google/apis/apigee_v1/classes.rb +7 -0
  7. data/generated/google/apis/apigee_v1/representations.rb +1 -0
  8. data/generated/google/apis/apigee_v1/service.rb +9 -1
  9. data/generated/google/apis/artifactregistry_v1beta1.rb +38 -0
  10. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +1010 -0
  11. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +380 -0
  12. data/generated/google/apis/artifactregistry_v1beta1/service.rb +957 -0
  13. data/generated/google/apis/bigquery_v2.rb +1 -1
  14. data/generated/google/apis/bigquery_v2/classes.rb +12 -1
  15. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  16. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  17. data/generated/google/apis/bigqueryreservation_v1/service.rb +8 -8
  18. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  19. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +18 -14
  20. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +93 -68
  21. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  22. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +21 -0
  23. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +6 -0
  24. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  25. data/generated/google/apis/binaryauthorization_v1/classes.rb +4 -1
  26. data/generated/google/apis/calendar_v3.rb +1 -1
  27. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  28. data/generated/google/apis/cloudasset_v1.rb +1 -1
  29. data/generated/google/apis/cloudasset_v1/classes.rb +371 -27
  30. data/generated/google/apis/cloudasset_v1/representations.rb +97 -0
  31. data/generated/google/apis/cloudasset_v1/service.rb +186 -8
  32. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  33. data/generated/google/apis/cloudasset_v1beta1/classes.rb +23 -10
  34. data/generated/google/apis/cloudasset_v1beta1/service.rb +12 -3
  35. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  36. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +42 -10
  37. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +2 -0
  38. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  39. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1/classes.rb +1 -0
  41. data/generated/google/apis/cloudbuild_v1/service.rb +121 -0
  42. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  43. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +142 -0
  44. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +60 -0
  45. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +121 -0
  46. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  47. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +142 -0
  48. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +60 -0
  49. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +121 -0
  50. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  51. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +6 -0
  52. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +1 -0
  53. data/generated/google/apis/container_v1beta1.rb +1 -1
  54. data/generated/google/apis/container_v1beta1/classes.rb +35 -0
  55. data/generated/google/apis/container_v1beta1/representations.rb +17 -0
  56. data/generated/google/apis/content_v2_1.rb +1 -1
  57. data/generated/google/apis/content_v2_1/classes.rb +6 -0
  58. data/generated/google/apis/content_v2_1/representations.rb +1 -0
  59. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  60. data/generated/google/apis/dataproc_v1beta2/classes.rb +26 -12
  61. data/generated/google/apis/dataproc_v1beta2/service.rb +35 -21
  62. data/generated/google/apis/datastore_v1.rb +1 -1
  63. data/generated/google/apis/datastore_v1/classes.rb +1 -1
  64. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  65. data/generated/google/apis/datastore_v1beta3/classes.rb +1 -1
  66. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  67. data/generated/google/apis/deploymentmanager_alpha/classes.rb +362 -176
  68. data/generated/google/apis/deploymentmanager_alpha/representations.rb +22 -4
  69. data/generated/google/apis/deploymentmanager_alpha/service.rb +198 -311
  70. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  71. data/generated/google/apis/deploymentmanager_v2/classes.rb +295 -146
  72. data/generated/google/apis/deploymentmanager_v2/representations.rb +17 -1
  73. data/generated/google/apis/deploymentmanager_v2/service.rb +101 -99
  74. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  75. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +350 -170
  76. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +18 -1
  77. data/generated/google/apis/deploymentmanager_v2beta/service.rb +154 -152
  78. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  79. data/generated/google/apis/dfareporting_v3_3/classes.rb +2 -2
  80. data/generated/google/apis/dfareporting_v3_3/service.rb +2 -2
  81. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  82. data/generated/google/apis/dfareporting_v3_4/classes.rb +2 -2
  83. data/generated/google/apis/dfareporting_v3_4/service.rb +2 -2
  84. data/generated/google/apis/dialogflow_v2.rb +1 -1
  85. data/generated/google/apis/dialogflow_v2/classes.rb +3 -0
  86. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  87. data/generated/google/apis/dialogflow_v2beta1/classes.rb +3 -0
  88. data/generated/google/apis/dialogflow_v2beta1/service.rb +2 -2
  89. data/generated/google/apis/dialogflow_v3alpha1.rb +38 -0
  90. data/generated/google/apis/dialogflow_v3alpha1/classes.rb +5022 -0
  91. data/generated/google/apis/dialogflow_v3alpha1/representations.rb +2057 -0
  92. data/generated/google/apis/dialogflow_v3alpha1/service.rb +296 -0
  93. data/generated/google/apis/displayvideo_v1.rb +1 -1
  94. data/generated/google/apis/displayvideo_v1/service.rb +7 -2
  95. data/generated/google/apis/dlp_v2.rb +1 -1
  96. data/generated/google/apis/dlp_v2/classes.rb +9 -21
  97. data/generated/google/apis/dlp_v2/service.rb +79 -142
  98. data/generated/google/apis/dns_v1.rb +1 -1
  99. data/generated/google/apis/dns_v1/classes.rb +160 -261
  100. data/generated/google/apis/dns_v1/representations.rb +17 -0
  101. data/generated/google/apis/dns_v1/service.rb +21 -141
  102. data/generated/google/apis/dns_v1beta2.rb +1 -1
  103. data/generated/google/apis/dns_v1beta2/classes.rb +189 -273
  104. data/generated/google/apis/dns_v1beta2/representations.rb +32 -0
  105. data/generated/google/apis/dns_v1beta2/service.rb +21 -141
  106. data/generated/google/apis/dns_v2beta1.rb +1 -1
  107. data/generated/google/apis/dns_v2beta1/classes.rb +160 -261
  108. data/generated/google/apis/dns_v2beta1/representations.rb +17 -0
  109. data/generated/google/apis/dns_v2beta1/service.rb +21 -141
  110. data/generated/google/apis/file_v1.rb +1 -1
  111. data/generated/google/apis/file_v1/classes.rb +31 -0
  112. data/generated/google/apis/file_v1/representations.rb +15 -0
  113. data/generated/google/apis/file_v1beta1.rb +1 -1
  114. data/generated/google/apis/file_v1beta1/classes.rb +31 -0
  115. data/generated/google/apis/file_v1beta1/representations.rb +15 -0
  116. data/generated/google/apis/{pagespeedonline_v1.rb → firebaseml_v1.rb} +11 -9
  117. data/generated/google/apis/firebaseml_v1/classes.rb +213 -0
  118. data/generated/google/apis/firebaseml_v1/representations.rb +112 -0
  119. data/generated/google/apis/firebaseml_v1/service.rb +181 -0
  120. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  121. data/generated/google/apis/games_configuration_v1configuration/service.rb +1 -1
  122. data/generated/google/apis/games_management_v1management.rb +1 -1
  123. data/generated/google/apis/games_management_v1management/service.rb +1 -1
  124. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  125. data/generated/google/apis/iamcredentials_v1/classes.rb +26 -2
  126. data/generated/google/apis/networkmanagement_v1.rb +35 -0
  127. data/generated/google/apis/networkmanagement_v1/classes.rb +1868 -0
  128. data/generated/google/apis/networkmanagement_v1/representations.rb +661 -0
  129. data/generated/google/apis/networkmanagement_v1/service.rb +667 -0
  130. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  131. data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
  132. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  133. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  134. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
  135. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  136. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  137. data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
  138. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  139. data/generated/google/apis/securitycenter_v1.rb +1 -1
  140. data/generated/google/apis/securitycenter_v1/classes.rb +27 -12
  141. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  142. data/generated/google/apis/securitycenter_v1beta1/classes.rb +27 -12
  143. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  144. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +27 -12
  145. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  146. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +0 -31
  147. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -1
  148. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  149. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +0 -31
  150. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +0 -1
  151. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  152. data/generated/google/apis/servicemanagement_v1/classes.rb +0 -31
  153. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -1
  154. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  155. data/generated/google/apis/servicenetworking_v1/classes.rb +379 -31
  156. data/generated/google/apis/servicenetworking_v1/representations.rb +209 -1
  157. data/generated/google/apis/servicenetworking_v1/service.rb +187 -0
  158. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  159. data/generated/google/apis/servicenetworking_v1beta/classes.rb +188 -31
  160. data/generated/google/apis/servicenetworking_v1beta/representations.rb +130 -1
  161. data/generated/google/apis/serviceusage_v1.rb +1 -1
  162. data/generated/google/apis/serviceusage_v1/classes.rb +0 -31
  163. data/generated/google/apis/serviceusage_v1/representations.rb +0 -1
  164. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  165. data/generated/google/apis/serviceusage_v1beta1/classes.rb +0 -31
  166. data/generated/google/apis/serviceusage_v1beta1/representations.rb +0 -1
  167. data/generated/google/apis/tasks_v1.rb +3 -3
  168. data/generated/google/apis/tasks_v1/classes.rb +26 -25
  169. data/generated/google/apis/tasks_v1/representations.rb +4 -8
  170. data/generated/google/apis/tasks_v1/service.rb +79 -128
  171. data/generated/google/apis/translate_v3.rb +1 -1
  172. data/generated/google/apis/verifiedaccess_v1.rb +3 -3
  173. data/generated/google/apis/verifiedaccess_v1/service.rb +2 -2
  174. data/generated/google/apis/websecurityscanner_v1.rb +2 -2
  175. data/generated/google/apis/websecurityscanner_v1/classes.rb +7 -5
  176. data/generated/google/apis/websecurityscanner_v1/service.rb +1 -1
  177. data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
  178. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +5 -4
  179. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  180. data/generated/google/apis/websecurityscanner_v1beta.rb +2 -2
  181. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +9 -7
  182. data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
  183. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  184. data/generated/google/apis/youtube_v3.rb +5 -5
  185. data/generated/google/apis/youtube_v3/classes.rb +1260 -1244
  186. data/generated/google/apis/youtube_v3/representations.rb +64 -192
  187. data/generated/google/apis/youtube_v3/service.rb +1833 -2125
  188. data/lib/google/apis/version.rb +1 -1
  189. metadata +19 -7
  190. data/generated/google/apis/pagespeedonline_v1/classes.rb +0 -542
  191. data/generated/google/apis/pagespeedonline_v1/representations.rb +0 -258
  192. data/generated/google/apis/pagespeedonline_v1/service.rb +0 -116
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/deployment-manager/
26
26
  module DeploymentmanagerV2
27
27
  VERSION = 'V2'
28
- REVISION = '20181207'
28
+ REVISION = '20200512'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -31,14 +31,14 @@ module Google
31
31
  # AuditLogConfig are exempted.
32
32
  # Example Policy with multiple AuditConfigs:
33
33
  # ` "audit_configs": [ ` "service": "allServices" "audit_log_configs": [ ` "
34
- # log_type": "DATA_READ", "exempted_members": [ "user:foo@gmail.com" ] `, ` "
34
+ # log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] `, ` "
35
35
  # log_type": "DATA_WRITE", `, ` "log_type": "ADMIN_READ", ` ] `, ` "service": "
36
- # fooservice.googleapis.com" "audit_log_configs": [ ` "log_type": "DATA_READ", `,
37
- # ` "log_type": "DATA_WRITE", "exempted_members": [ "user:bar@gmail.com" ] ` ] `
38
- # ] `
39
- # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
40
- # logging. It also exempts foo@gmail.com from DATA_READ logging, and bar@gmail.
41
- # com from DATA_WRITE logging.
36
+ # sampleservice.googleapis.com" "audit_log_configs": [ ` "log_type": "DATA_READ",
37
+ # `, ` "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com"
38
+ # ] ` ] ` ] `
39
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
40
+ # logging. It also exempts jose@example.com from DATA_READ logging, and aliya@
41
+ # example.com from DATA_WRITE logging.
42
42
  class AuditConfig
43
43
  include Google::Apis::Core::Hashable
44
44
 
@@ -73,9 +73,9 @@ module Google
73
73
 
74
74
  # Provides the configuration for logging a type of permissions. Example:
75
75
  # ` "audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "
76
- # user:foo@gmail.com" ] `, ` "log_type": "DATA_WRITE", ` ] `
77
- # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting foo@gmail.
78
- # com from DATA_READ logging.
76
+ # user:jose@example.com" ] `, ` "log_type": "DATA_WRITE", ` ] `
77
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@
78
+ # example.com from DATA_READ logging.
79
79
  class AuditLogConfig
80
80
  include Google::Apis::Core::Hashable
81
81
 
@@ -85,6 +85,12 @@ module Google
85
85
  # @return [Array<String>]
86
86
  attr_accessor :exempted_members
87
87
 
88
+ #
89
+ # Corresponds to the JSON property `ignoreChildExemptions`
90
+ # @return [Boolean]
91
+ attr_accessor :ignore_child_exemptions
92
+ alias_method :ignore_child_exemptions?, :ignore_child_exemptions
93
+
88
94
  # The log type that this config enables.
89
95
  # Corresponds to the JSON property `logType`
90
96
  # @return [String]
@@ -97,6 +103,7 @@ module Google
97
103
  # Update properties of this object
98
104
  def update!(**args)
99
105
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
106
+ @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
100
107
  @log_type = args[:log_type] if args.key?(:log_type)
101
108
  end
102
109
  end
@@ -124,9 +131,26 @@ module Google
124
131
  class Binding
125
132
  include Google::Apis::Core::Hashable
126
133
 
127
- # Represents an expression text. Example:
128
- # title: "User account presence" description: "Determines whether the request
129
- # has a user account" expression: "size(request.user) > 0"
134
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
135
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
136
+ # documented at https://github.com/google/cel-spec.
137
+ # Example (Comparison):
138
+ # title: "Summary size limit" description: "Determines if a summary is less than
139
+ # 100 chars" expression: "document.summary.size() < 100"
140
+ # Example (Equality):
141
+ # title: "Requestor is owner" description: "Determines if requestor is the
142
+ # document owner" expression: "document.owner == request.auth.claims.email"
143
+ # Example (Logic):
144
+ # title: "Public documents" description: "Determine whether the document should
145
+ # be publicly visible" expression: "document.type != 'private' && document.type !
146
+ # = 'internal'"
147
+ # Example (Data Manipulation):
148
+ # title: "Notification string" description: "Create a notification string with a
149
+ # timestamp." expression: "'New message received at ' + string(document.
150
+ # create_time)"
151
+ # The exact variables and functions that may be referenced within an expression
152
+ # are determined by the service that evaluates it. See the service documentation
153
+ # for additional information.
130
154
  # Corresponds to the JSON property `condition`
131
155
  # @return [Google::Apis::DeploymentmanagerV2::Expr]
132
156
  attr_accessor :condition
@@ -138,13 +162,29 @@ module Google
138
162
  # * `allAuthenticatedUsers`: A special identifier that represents anyone who is
139
163
  # authenticated with a Google account or a service account.
140
164
  # * `user:`emailid``: An email address that represents a specific Google account.
141
- # For example, `alice@gmail.com` .
165
+ # For example, `alice@example.com` .
142
166
  # * `serviceAccount:`emailid``: An email address that represents a service
143
167
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
144
168
  # * `group:`emailid``: An email address that represents a Google group. For
145
169
  # example, `admins@example.com`.
146
- # * `domain:`domain``: A Google Apps domain name that represents all the users
147
- # of that domain. For example, `google.com` or `example.com`.
170
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
171
+ # identifier) representing a user that has been recently deleted. For example, `
172
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
173
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
174
+ # the binding.
175
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
176
+ # unique identifier) representing a service account that has been recently
177
+ # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
178
+ # 123456789012345678901`. If the service account is undeleted, this value
179
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
180
+ # retains the role in the binding.
181
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
182
+ # identifier) representing a Google group that has been recently deleted. For
183
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
184
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
185
+ # retains the role in the binding.
186
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
187
+ # users of that domain. For example, `google.com` or `example.com`.
148
188
  # Corresponds to the JSON property `members`
149
189
  # @return [Array<String>]
150
190
  attr_accessor :members
@@ -192,12 +232,7 @@ module Google
192
232
  # @return [String]
193
233
  attr_accessor :sys
194
234
 
195
- # DEPRECATED. Use 'values' instead.
196
- # Corresponds to the JSON property `value`
197
- # @return [String]
198
- attr_accessor :value
199
-
200
- # The objects of the condition. This is mutually exclusive with 'value'.
235
+ # The objects of the condition.
201
236
  # Corresponds to the JSON property `values`
202
237
  # @return [Array<String>]
203
238
  attr_accessor :values
@@ -212,7 +247,6 @@ module Google
212
247
  @op = args[:op] if args.key?(:op)
213
248
  @svc = args[:svc] if args.key?(:svc)
214
249
  @sys = args[:sys] if args.key?(:sys)
215
- @value = args[:value] if args.key?(:value)
216
250
  @values = args[:values] if args.key?(:values)
217
251
  end
218
252
  end
@@ -245,14 +279,14 @@ module Google
245
279
  # @return [String]
246
280
  attr_accessor :description
247
281
 
248
- # Provides a fingerprint to use in requests to modify a deployment, such as
249
- # update(), stop(), and cancelPreview() requests. A fingerprint is a randomly
250
- # generated value that must be provided with update(), stop(), and cancelPreview(
251
- # ) requests to perform optimistic locking. This ensures optimistic concurrency
252
- # so that only one request happens at a time.
282
+ # Provides a fingerprint to use in requests to modify a deployment, such as `
283
+ # update()`, `stop()`, and `cancelPreview()` requests. A fingerprint is a
284
+ # randomly generated value that must be provided with `update()`, `stop()`, and `
285
+ # cancelPreview()` requests to perform optimistic locking. This ensures
286
+ # optimistic concurrency so that only one request happens at a time.
253
287
  # The fingerprint is initially generated by Deployment Manager and changes after
254
- # every request to modify data. To get the latest fingerprint value, perform a
255
- # get() request to a deployment.
288
+ # every request to modify data. To get the latest fingerprint value, perform a `
289
+ # get()` request to a deployment.
256
290
  # Corresponds to the JSON property `fingerprint`
257
291
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
258
292
  # @return [String]
@@ -270,34 +304,45 @@ module Google
270
304
 
271
305
  # Map of labels; provided by the client when the resource is created or updated.
272
306
  # Specifically: Label keys must be between 1 and 63 characters long and must
273
- # conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label
274
- # values must be between 0 and 63 characters long and must conform to the
275
- # regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?
307
+ # conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`
308
+ # Label values must be between 0 and 63 characters long and must conform to the
309
+ # regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
276
310
  # Corresponds to the JSON property `labels`
277
311
  # @return [Array<Google::Apis::DeploymentmanagerV2::DeploymentLabelEntry>]
278
312
  attr_accessor :labels
279
313
 
280
314
  # Output only. URL of the manifest representing the last manifest that was
281
- # successfully deployed.
315
+ # successfully deployed. If no manifest has been successfully deployed, this
316
+ # field will be absent.
282
317
  # Corresponds to the JSON property `manifest`
283
318
  # @return [String]
284
319
  attr_accessor :manifest
285
320
 
286
321
  # Name of the resource; provided by the client when the resource is created. The
287
322
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
288
- # name must be 1-63 characters long and match the regular expression [a-z]([-a-
289
- # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
323
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
324
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
290
325
  # and all following characters must be a dash, lowercase letter, or digit,
291
326
  # except the last character, which cannot be a dash.
292
327
  # Corresponds to the JSON property `name`
293
328
  # @return [String]
294
329
  attr_accessor :name
295
330
 
296
- # An Operation resource, used to manage asynchronous API requests. (==
297
- # resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==)
298
- # (== resource_for v1.regionOperations ==) (== resource_for beta.
299
- # regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for
300
- # beta.zoneOperations ==)
331
+ # Represents an Operation resource.
332
+ # Google Compute Engine has three Operation resources:
333
+ # * [Global](/compute/docs/reference/rest/`$api_version`/globalOperations) * [
334
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionOperations) * [
335
+ # Zonal](/compute/docs/reference/rest/`$api_version`/zoneOperations)
336
+ # You can use an operation resource to manage asynchronous API requests. For
337
+ # more information, read Handling API responses.
338
+ # Operations can be global, regional or zonal.
339
+ # - For global operations, use the `globalOperations` resource.
340
+ # - For regional operations, use the `regionOperations` resource.
341
+ # - For zonal operations, use the `zonalOperations` resource.
342
+ # For more information, read Global, Regional, and Zonal Resources. (==
343
+ # resource_for `$api_version`.globalOperations ==) (== resource_for `$
344
+ # api_version`.regionOperations ==) (== resource_for `$api_version`.
345
+ # zoneOperations ==)
301
346
  # Corresponds to the JSON property `operation`
302
347
  # @return [Google::Apis::DeploymentmanagerV2::Operation]
303
348
  attr_accessor :operation
@@ -380,9 +425,9 @@ module Google
380
425
 
381
426
  # Output only. Map of labels; provided by the client when the resource is
382
427
  # created or updated. Specifically: Label keys must be between 1 and 63
383
- # characters long and must conform to the following regular expression: [a-z]([-
384
- # a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and
385
- # must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?
428
+ # characters long and must conform to the following regular expression: `[a-z]([-
429
+ # a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and
430
+ # must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
386
431
  # Corresponds to the JSON property `labels`
387
432
  # @return [Array<Google::Apis::DeploymentmanagerV2::DeploymentUpdateLabelEntry>]
388
433
  attr_accessor :labels
@@ -434,15 +479,15 @@ module Google
434
479
  class DeploymentsCancelPreviewRequest
435
480
  include Google::Apis::Core::Hashable
436
481
 
437
- # Specifies a fingerprint for cancelPreview() requests. A fingerprint is a
438
- # randomly generated value that must be provided in cancelPreview() requests to
439
- # perform optimistic locking. This ensures optimistic concurrency so that the
482
+ # Specifies a fingerprint for `cancelPreview()` requests. A fingerprint is a
483
+ # randomly generated value that must be provided in `cancelPreview()` requests
484
+ # to perform optimistic locking. This ensures optimistic concurrency so that the
440
485
  # deployment does not have conflicting requests (e.g. if someone attempts to
441
486
  # make a new update request while another user attempts to cancel a preview,
442
487
  # this would prevent one of the requests).
443
488
  # The fingerprint is initially generated by Deployment Manager and changes after
444
489
  # every request to modify a deployment. To get the latest fingerprint value,
445
- # perform a get() request on the deployment.
490
+ # perform a `get()` request on the deployment.
446
491
  # Corresponds to the JSON property `fingerprint`
447
492
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
448
493
  # @return [String]
@@ -488,15 +533,15 @@ module Google
488
533
  class DeploymentsStopRequest
489
534
  include Google::Apis::Core::Hashable
490
535
 
491
- # Specifies a fingerprint for stop() requests. A fingerprint is a randomly
492
- # generated value that must be provided in stop() requests to perform optimistic
493
- # locking. This ensures optimistic concurrency so that the deployment does not
494
- # have conflicting requests (e.g. if someone attempts to make a new update
495
- # request while another user attempts to stop an ongoing update request, this
496
- # would prevent a collision).
536
+ # Specifies a fingerprint for `stop()` requests. A fingerprint is a randomly
537
+ # generated value that must be provided in `stop()` requests to perform
538
+ # optimistic locking. This ensures optimistic concurrency so that the deployment
539
+ # does not have conflicting requests (e.g. if someone attempts to make a new
540
+ # update request while another user attempts to stop an ongoing update request,
541
+ # this would prevent a collision).
497
542
  # The fingerprint is initially generated by Deployment Manager and changes after
498
543
  # every request to modify a deployment. To get the latest fingerprint value,
499
- # perform a get() request on the deployment.
544
+ # perform a `get()` request on the deployment.
500
545
  # Corresponds to the JSON property `fingerprint`
501
546
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
502
547
  # @return [String]
@@ -512,33 +557,48 @@ module Google
512
557
  end
513
558
  end
514
559
 
515
- # Represents an expression text. Example:
516
- # title: "User account presence" description: "Determines whether the request
517
- # has a user account" expression: "size(request.user) > 0"
560
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
561
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
562
+ # documented at https://github.com/google/cel-spec.
563
+ # Example (Comparison):
564
+ # title: "Summary size limit" description: "Determines if a summary is less than
565
+ # 100 chars" expression: "document.summary.size() < 100"
566
+ # Example (Equality):
567
+ # title: "Requestor is owner" description: "Determines if requestor is the
568
+ # document owner" expression: "document.owner == request.auth.claims.email"
569
+ # Example (Logic):
570
+ # title: "Public documents" description: "Determine whether the document should
571
+ # be publicly visible" expression: "document.type != 'private' && document.type !
572
+ # = 'internal'"
573
+ # Example (Data Manipulation):
574
+ # title: "Notification string" description: "Create a notification string with a
575
+ # timestamp." expression: "'New message received at ' + string(document.
576
+ # create_time)"
577
+ # The exact variables and functions that may be referenced within an expression
578
+ # are determined by the service that evaluates it. See the service documentation
579
+ # for additional information.
518
580
  class Expr
519
581
  include Google::Apis::Core::Hashable
520
582
 
521
- # An optional description of the expression. This is a longer text which
522
- # describes the expression, e.g. when hovered over it in a UI.
583
+ # Optional. Description of the expression. This is a longer text which describes
584
+ # the expression, e.g. when hovered over it in a UI.
523
585
  # Corresponds to the JSON property `description`
524
586
  # @return [String]
525
587
  attr_accessor :description
526
588
 
527
589
  # Textual representation of an expression in Common Expression Language syntax.
528
- # The application context of the containing message determines which well-known
529
- # feature set of CEL is supported.
530
590
  # Corresponds to the JSON property `expression`
531
591
  # @return [String]
532
592
  attr_accessor :expression
533
593
 
534
- # An optional string indicating the location of the expression for error
535
- # reporting, e.g. a file name and a position in the file.
594
+ # Optional. String indicating the location of the expression for error reporting,
595
+ # e.g. a file name and a position in the file.
536
596
  # Corresponds to the JSON property `location`
537
597
  # @return [String]
538
598
  attr_accessor :location
539
599
 
540
- # An optional title for the expression, i.e. a short string describing its
541
- # purpose. This can be used e.g. in UIs which allow to enter the expression.
600
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
601
+ # This can be used e.g. in UIs which allow to enter the expression.
542
602
  # Corresponds to the JSON property `title`
543
603
  # @return [String]
544
604
  attr_accessor :title
@@ -573,23 +633,36 @@ module Google
573
633
  # @return [String]
574
634
  attr_accessor :etag
575
635
 
576
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
577
- # access control policies for Cloud Platform resources.
578
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
579
- # members` to a `role`, where the members can be user accounts, Google groups,
580
- # Google domains, and service accounts. A `role` is a named list of permissions
581
- # defined by IAM.
582
- # **JSON Example**
583
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
584
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
585
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
586
- # sean@example.com"] ` ] `
587
- # **YAML Example**
636
+ # An Identity and Access Management (IAM) policy, which specifies access
637
+ # controls for Google Cloud resources.
638
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
639
+ # members` to a single `role`. Members can be user accounts, service accounts,
640
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
641
+ # permissions; each `role` can be an IAM predefined role or a user-created
642
+ # custom role.
643
+ # For some types of Google Cloud resources, a `binding` can also specify a `
644
+ # condition`, which is a logical expression that allows access to a resource
645
+ # only if the expression evaluates to `true`. A condition can add constraints
646
+ # based on attributes of the request, the resource, or both. To learn which
647
+ # resources support conditions in their IAM policies, see the [IAM documentation]
648
+ # (https://cloud.google.com/iam/help/conditions/resource-policies).
649
+ # **JSON example:**
650
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
651
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
652
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
653
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
654
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
655
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
656
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
657
+ # **YAML example:**
588
658
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
589
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
590
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
591
- # For a description of IAM and its features, see the [IAM developer's guide](
592
- # https://cloud.google.com/iam/docs).
659
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
660
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
661
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
662
+ # access description: Does not grant access after Sep 2020 expression: request.
663
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
664
+ # For a description of IAM and its features, see the [IAM documentation](https://
665
+ # cloud.google.com/iam/docs/).
593
666
  # Corresponds to the JSON property `policy`
594
667
  # @return [Google::Apis::DeploymentmanagerV2::Policy]
595
668
  attr_accessor :policy
@@ -652,10 +725,8 @@ module Google
652
725
  # a representation of IAMContext.principal even if a token or authority selector
653
726
  # is present; or - "" (empty string), resulting in a counter with no fields.
654
727
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
655
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
656
- # of IAMContext.principal]`
657
- # At this time we do not support multiple field names (though this may be
658
- # supported in the future).
728
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
729
+ # IAMContext.principal]`
659
730
  # Corresponds to the JSON property `counter`
660
731
  # @return [Google::Apis::DeploymentmanagerV2::LogConfigCounterOptions]
661
732
  attr_accessor :counter
@@ -714,13 +785,16 @@ module Google
714
785
  # a representation of IAMContext.principal even if a token or authority selector
715
786
  # is present; or - "" (empty string), resulting in a counter with no fields.
716
787
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
717
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
718
- # of IAMContext.principal]`
719
- # At this time we do not support multiple field names (though this may be
720
- # supported in the future).
788
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
789
+ # IAMContext.principal]`
721
790
  class LogConfigCounterOptions
722
791
  include Google::Apis::Core::Hashable
723
792
 
793
+ # Custom fields.
794
+ # Corresponds to the JSON property `customFields`
795
+ # @return [Array<Google::Apis::DeploymentmanagerV2::LogConfigCounterOptionsCustomField>]
796
+ attr_accessor :custom_fields
797
+
724
798
  # The field value to attribute.
725
799
  # Corresponds to the JSON property `field`
726
800
  # @return [String]
@@ -737,21 +811,45 @@ module Google
737
811
 
738
812
  # Update properties of this object
739
813
  def update!(**args)
814
+ @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
740
815
  @field = args[:field] if args.key?(:field)
741
816
  @metric = args[:metric] if args.key?(:metric)
742
817
  end
743
818
  end
744
819
 
820
+ # Custom fields. These can be used to create a counter with arbitrary field/
821
+ # value pairs. See: go/rpcsp-custom-fields.
822
+ class LogConfigCounterOptionsCustomField
823
+ include Google::Apis::Core::Hashable
824
+
825
+ # Name is the field name.
826
+ # Corresponds to the JSON property `name`
827
+ # @return [String]
828
+ attr_accessor :name
829
+
830
+ # Value is the field value. It is important that in contrast to the
831
+ # CounterOptions.field, the value here is a constant that is not derived from
832
+ # the IAMContext.
833
+ # Corresponds to the JSON property `value`
834
+ # @return [String]
835
+ attr_accessor :value
836
+
837
+ def initialize(**args)
838
+ update!(**args)
839
+ end
840
+
841
+ # Update properties of this object
842
+ def update!(**args)
843
+ @name = args[:name] if args.key?(:name)
844
+ @value = args[:value] if args.key?(:value)
845
+ end
846
+ end
847
+
745
848
  # Write a Data Access (Gin) log
746
849
  class LogConfigDataAccessOptions
747
850
  include Google::Apis::Core::Hashable
748
851
 
749
- # Whether Gin logging should happen in a fail-closed manner at the caller. This
750
- # is relevant only in the LocalIAM implementation, for now.
751
- # NOTE: Logging to Gin in a fail-closed manner is currently unsupported while
752
- # work is being done to satisfy the requirements of go/345. Currently, setting
753
- # LOG_FAIL_CLOSED mode will have no effect, but still exists because there is
754
- # active work being done to support it (b/115874152).
852
+ #
755
853
  # Corresponds to the JSON property `logMode`
756
854
  # @return [String]
757
855
  attr_accessor :log_mode
@@ -855,11 +953,21 @@ module Google
855
953
  end
856
954
  end
857
955
 
858
- # An Operation resource, used to manage asynchronous API requests. (==
859
- # resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==)
860
- # (== resource_for v1.regionOperations ==) (== resource_for beta.
861
- # regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for
862
- # beta.zoneOperations ==)
956
+ # Represents an Operation resource.
957
+ # Google Compute Engine has three Operation resources:
958
+ # * [Global](/compute/docs/reference/rest/`$api_version`/globalOperations) * [
959
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionOperations) * [
960
+ # Zonal](/compute/docs/reference/rest/`$api_version`/zoneOperations)
961
+ # You can use an operation resource to manage asynchronous API requests. For
962
+ # more information, read Handling API responses.
963
+ # Operations can be global, regional or zonal.
964
+ # - For global operations, use the `globalOperations` resource.
965
+ # - For regional operations, use the `regionOperations` resource.
966
+ # - For zonal operations, use the `zonalOperations` resource.
967
+ # For more information, read Global, Regional, and Zonal Resources. (==
968
+ # resource_for `$api_version`.globalOperations ==) (== resource_for `$
969
+ # api_version`.regionOperations ==) (== resource_for `$api_version`.
970
+ # zoneOperations ==)
863
971
  class Operation
864
972
  include Google::Apis::Core::Hashable
865
973
 
@@ -893,19 +1001,19 @@ module Google
893
1001
  attr_accessor :error
894
1002
 
895
1003
  # [Output Only] If the operation fails, this field contains the HTTP error
896
- # message that was returned, such as NOT FOUND.
1004
+ # message that was returned, such as `NOT FOUND`.
897
1005
  # Corresponds to the JSON property `httpErrorMessage`
898
1006
  # @return [String]
899
1007
  attr_accessor :http_error_message
900
1008
 
901
1009
  # [Output Only] If the operation fails, this field contains the HTTP error
902
- # status code that was returned. For example, a 404 means the resource was not
1010
+ # status code that was returned. For example, a `404` means the resource was not
903
1011
  # found.
904
1012
  # Corresponds to the JSON property `httpErrorStatusCode`
905
1013
  # @return [Fixnum]
906
1014
  attr_accessor :http_error_status_code
907
1015
 
908
- # [Output Only] The unique identifier for the resource. This identifier is
1016
+ # [Output Only] The unique identifier for the operation. This identifier is
909
1017
  # defined by the server.
910
1018
  # Corresponds to the JSON property `id`
911
1019
  # @return [Fixnum]
@@ -917,19 +1025,19 @@ module Google
917
1025
  # @return [String]
918
1026
  attr_accessor :insert_time
919
1027
 
920
- # [Output Only] Type of the resource. Always compute#operation for Operation
1028
+ # [Output Only] Type of the resource. Always `compute#operation` for Operation
921
1029
  # resources.
922
1030
  # Corresponds to the JSON property `kind`
923
1031
  # @return [String]
924
1032
  attr_accessor :kind
925
1033
 
926
- # [Output Only] Name of the resource.
1034
+ # [Output Only] Name of the operation.
927
1035
  # Corresponds to the JSON property `name`
928
1036
  # @return [String]
929
1037
  attr_accessor :name
930
1038
 
931
- # [Output Only] The type of operation, such as insert, update, or delete, and so
932
- # on.
1039
+ # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
1040
+ # and so on.
933
1041
  # Corresponds to the JSON property `operationType`
934
1042
  # @return [String]
935
1043
  attr_accessor :operation_type
@@ -943,9 +1051,7 @@ module Google
943
1051
  attr_accessor :progress
944
1052
 
945
1053
  # [Output Only] The URL of the region where the operation resides. Only
946
- # available when performing regional operations. You must specify this field as
947
- # part of the HTTP request URL. It is not settable as a field in the request
948
- # body.
1054
+ # applicable when performing regional operations.
949
1055
  # Corresponds to the JSON property `region`
950
1056
  # @return [String]
951
1057
  attr_accessor :region
@@ -961,8 +1067,8 @@ module Google
961
1067
  # @return [String]
962
1068
  attr_accessor :start_time
963
1069
 
964
- # [Output Only] The status of the operation, which can be one of the following:
965
- # PENDING, RUNNING, or DONE.
1070
+ # [Output Only] The status of the operation, which can be one of the following: `
1071
+ # PENDING`, `RUNNING`, or `DONE`.
966
1072
  # Corresponds to the JSON property `status`
967
1073
  # @return [String]
968
1074
  attr_accessor :status
@@ -986,7 +1092,8 @@ module Google
986
1092
  # @return [String]
987
1093
  attr_accessor :target_link
988
1094
 
989
- # [Output Only] User who requested the operation, for example: user@example.com.
1095
+ # [Output Only] User who requested the operation, for example: `user@example.com`
1096
+ # .
990
1097
  # Corresponds to the JSON property `user`
991
1098
  # @return [String]
992
1099
  attr_accessor :user
@@ -997,9 +1104,8 @@ module Google
997
1104
  # @return [Array<Google::Apis::DeploymentmanagerV2::Operation::Warning>]
998
1105
  attr_accessor :warnings
999
1106
 
1000
- # [Output Only] The URL of the zone where the operation resides. Only available
1001
- # when performing per-zone operations. You must specify this field as part of
1002
- # the HTTP request URL. It is not settable as a field in the request body.
1107
+ # [Output Only] The URL of the zone where the operation resides. Only applicable
1108
+ # when performing per-zone operations.
1003
1109
  # Corresponds to the JSON property `zone`
1004
1110
  # @return [String]
1005
1111
  attr_accessor :zone
@@ -1178,23 +1284,36 @@ module Google
1178
1284
  end
1179
1285
  end
1180
1286
 
1181
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
1182
- # access control policies for Cloud Platform resources.
1183
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
1184
- # members` to a `role`, where the members can be user accounts, Google groups,
1185
- # Google domains, and service accounts. A `role` is a named list of permissions
1186
- # defined by IAM.
1187
- # **JSON Example**
1188
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
1189
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
1190
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
1191
- # sean@example.com"] ` ] `
1192
- # **YAML Example**
1287
+ # An Identity and Access Management (IAM) policy, which specifies access
1288
+ # controls for Google Cloud resources.
1289
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
1290
+ # members` to a single `role`. Members can be user accounts, service accounts,
1291
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1292
+ # permissions; each `role` can be an IAM predefined role or a user-created
1293
+ # custom role.
1294
+ # For some types of Google Cloud resources, a `binding` can also specify a `
1295
+ # condition`, which is a logical expression that allows access to a resource
1296
+ # only if the expression evaluates to `true`. A condition can add constraints
1297
+ # based on attributes of the request, the resource, or both. To learn which
1298
+ # resources support conditions in their IAM policies, see the [IAM documentation]
1299
+ # (https://cloud.google.com/iam/help/conditions/resource-policies).
1300
+ # **JSON example:**
1301
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
1302
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
1303
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
1304
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
1305
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
1306
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
1307
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
1308
+ # **YAML example:**
1193
1309
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
1194
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
1195
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
1196
- # For a description of IAM and its features, see the [IAM developer's guide](
1197
- # https://cloud.google.com/iam/docs).
1310
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
1311
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
1312
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
1313
+ # access description: Does not grant access after Sep 2020 expression: request.
1314
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
1315
+ # For a description of IAM and its features, see the [IAM documentation](https://
1316
+ # cloud.google.com/iam/docs/).
1198
1317
  class Policy
1199
1318
  include Google::Apis::Core::Hashable
1200
1319
 
@@ -1203,8 +1322,9 @@ module Google
1203
1322
  # @return [Array<Google::Apis::DeploymentmanagerV2::AuditConfig>]
1204
1323
  attr_accessor :audit_configs
1205
1324
 
1206
- # Associates a list of `members` to a `role`. `bindings` with no members will
1207
- # result in an error.
1325
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
1326
+ # condition` that determines how and when the `bindings` are applied. Each of
1327
+ # the `bindings` must contain at least one member.
1208
1328
  # Corresponds to the JSON property `bindings`
1209
1329
  # @return [Array<Google::Apis::DeploymentmanagerV2::Binding>]
1210
1330
  attr_accessor :bindings
@@ -1216,8 +1336,10 @@ module Google
1216
1336
  # returned in the response to `getIamPolicy`, and systems are expected to put
1217
1337
  # that etag in the request to `setIamPolicy` to ensure that their change will be
1218
1338
  # applied to the same version of the policy.
1219
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1220
- # policy is overwritten blindly.
1339
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1340
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1341
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1342
+ # conditions in the version `3` policy are lost.
1221
1343
  # Corresponds to the JSON property `etag`
1222
1344
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
1223
1345
  # @return [String]
@@ -1240,7 +1362,24 @@ module Google
1240
1362
  # @return [Array<Google::Apis::DeploymentmanagerV2::Rule>]
1241
1363
  attr_accessor :rules
1242
1364
 
1243
- # Deprecated.
1365
+ # Specifies the format of the policy.
1366
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are
1367
+ # rejected.
1368
+ # Any operation that affects conditional role bindings must specify version `3`.
1369
+ # This requirement applies to the following operations:
1370
+ # * Getting a policy that includes a conditional role binding * Adding a
1371
+ # conditional role binding to a policy * Changing a conditional role binding in
1372
+ # a policy * Removing any role binding, with or without a condition, from a
1373
+ # policy that includes conditions
1374
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1375
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1376
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1377
+ # conditions in the version `3` policy are lost.
1378
+ # If a policy does not include any conditions, operations on that policy may
1379
+ # specify any valid version or leave the field unset.
1380
+ # To learn which resources support conditions in their IAM policies, see the [
1381
+ # IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1382
+ # policies).
1244
1383
  # Corresponds to the JSON property `version`
1245
1384
  # @return [Fixnum]
1246
1385
  attr_accessor :version
@@ -1302,8 +1441,8 @@ module Google
1302
1441
  # @return [String]
1303
1442
  attr_accessor :properties
1304
1443
 
1305
- # Output only. The type of the resource, for example compute.v1.instance, or
1306
- # cloudfunctions.v1beta1.function.
1444
+ # Output only. The type of the resource, for example `compute.v1.instance`, or `
1445
+ # cloudfunctions.v1beta1.function`.
1307
1446
  # Corresponds to the JSON property `type`
1308
1447
  # @return [String]
1309
1448
  attr_accessor :type
@@ -1454,7 +1593,7 @@ module Google
1454
1593
  # @return [String]
1455
1594
  attr_accessor :final_properties
1456
1595
 
1457
- # Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL.
1596
+ # Output only. The intent of the resource: `PREVIEW`, `UPDATE`, or `CANCEL`.
1458
1597
  # Corresponds to the JSON property `intent`
1459
1598
  # @return [String]
1460
1599
  attr_accessor :intent
@@ -1787,11 +1926,21 @@ module Google
1787
1926
  # @return [String]
1788
1927
  attr_accessor :name
1789
1928
 
1790
- # An Operation resource, used to manage asynchronous API requests. (==
1791
- # resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==)
1792
- # (== resource_for v1.regionOperations ==) (== resource_for beta.
1793
- # regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for
1794
- # beta.zoneOperations ==)
1929
+ # Represents an Operation resource.
1930
+ # Google Compute Engine has three Operation resources:
1931
+ # * [Global](/compute/docs/reference/rest/`$api_version`/globalOperations) * [
1932
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionOperations) * [
1933
+ # Zonal](/compute/docs/reference/rest/`$api_version`/zoneOperations)
1934
+ # You can use an operation resource to manage asynchronous API requests. For
1935
+ # more information, read Handling API responses.
1936
+ # Operations can be global, regional or zonal.
1937
+ # - For global operations, use the `globalOperations` resource.
1938
+ # - For regional operations, use the `regionOperations` resource.
1939
+ # - For zonal operations, use the `zonalOperations` resource.
1940
+ # For more information, read Global, Regional, and Zonal Resources. (==
1941
+ # resource_for `$api_version`.globalOperations ==) (== resource_for `$
1942
+ # api_version`.regionOperations ==) (== resource_for `$api_version`.
1943
+ # zoneOperations ==)
1795
1944
  # Corresponds to the JSON property `operation`
1796
1945
  # @return [Google::Apis::DeploymentmanagerV2::Operation]
1797
1946
  attr_accessor :operation