google-api-client 0.35.0 → 0.36.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  4. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +5 -1
  5. data/generated/google/apis/cloudasset_v1.rb +1 -1
  6. data/generated/google/apis/cloudasset_v1/classes.rb +75 -41
  7. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  8. data/generated/google/apis/cloudasset_v1beta1/classes.rb +75 -41
  9. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  10. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +75 -41
  11. data/generated/google/apis/container_v1.rb +1 -1
  12. data/generated/google/apis/container_v1/classes.rb +203 -78
  13. data/generated/google/apis/container_v1/representations.rb +49 -0
  14. data/generated/google/apis/container_v1/service.rb +119 -119
  15. data/generated/google/apis/container_v1beta1.rb +1 -1
  16. data/generated/google/apis/container_v1beta1/classes.rb +32 -0
  17. data/generated/google/apis/container_v1beta1/representations.rb +16 -0
  18. data/generated/google/apis/dataproc_v1.rb +1 -1
  19. data/generated/google/apis/dataproc_v1/classes.rb +44 -7
  20. data/generated/google/apis/dataproc_v1/representations.rb +17 -0
  21. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  22. data/generated/google/apis/dataproc_v1beta2/classes.rb +7 -7
  23. data/generated/google/apis/dataproc_v1beta2/service.rb +12 -12
  24. data/generated/google/apis/dlp_v2.rb +1 -1
  25. data/generated/google/apis/dlp_v2/classes.rb +4 -4
  26. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  27. data/generated/google/apis/firebase_v1beta1/classes.rb +15 -0
  28. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  29. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  30. data/generated/google/apis/healthcare_v1beta1/service.rb +20 -23
  31. data/generated/google/apis/ml_v1.rb +1 -1
  32. data/generated/google/apis/ml_v1/classes.rb +75 -41
  33. data/generated/google/apis/monitoring_v1.rb +13 -1
  34. data/generated/google/apis/monitoring_v1/classes.rb +893 -0
  35. data/generated/google/apis/monitoring_v1/representations.rb +405 -0
  36. data/generated/google/apis/monitoring_v1/service.rb +182 -0
  37. data/generated/google/apis/monitoring_v3.rb +1 -1
  38. data/generated/google/apis/monitoring_v3/classes.rb +29 -41
  39. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  40. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +168 -92
  41. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
  42. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  43. data/generated/google/apis/remotebuildexecution_v1/classes.rb +56 -0
  44. data/generated/google/apis/remotebuildexecution_v1/representations.rb +31 -0
  45. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  46. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +56 -0
  47. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +31 -0
  48. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  49. data/generated/google/apis/remotebuildexecution_v2/classes.rb +56 -0
  50. data/generated/google/apis/remotebuildexecution_v2/representations.rb +31 -0
  51. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  52. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +75 -41
  53. data/generated/google/apis/securitycenter_v1.rb +1 -1
  54. data/generated/google/apis/securitycenter_v1/classes.rb +75 -41
  55. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  56. data/generated/google/apis/securitycenter_v1beta1/classes.rb +75 -41
  57. data/generated/google/apis/servicebroker_v1.rb +1 -1
  58. data/generated/google/apis/servicebroker_v1/classes.rb +75 -41
  59. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  60. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +75 -41
  61. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  62. data/generated/google/apis/servicebroker_v1beta1/classes.rb +75 -41
  63. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  64. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +29 -41
  65. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  66. data/generated/google/apis/servicemanagement_v1/classes.rb +104 -82
  67. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  68. data/generated/google/apis/servicenetworking_v1/classes.rb +51 -41
  69. data/generated/google/apis/servicenetworking_v1/representations.rb +13 -0
  70. data/generated/google/apis/servicenetworking_v1/service.rb +35 -0
  71. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  72. data/generated/google/apis/servicenetworking_v1beta/classes.rb +29 -41
  73. data/generated/google/apis/serviceusage_v1.rb +1 -1
  74. data/generated/google/apis/serviceusage_v1/classes.rb +29 -41
  75. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  76. data/generated/google/apis/serviceusage_v1beta1/classes.rb +29 -41
  77. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  78. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  79. data/lib/google/apis/version.rb +1 -1
  80. metadata +3 -7
  81. data/generated/google/apis/cloudbuild_v1alpha1.rb +0 -34
  82. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +0 -1174
  83. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +0 -435
  84. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -226
@@ -51,6 +51,188 @@ module Google
51
51
  super('https://monitoring.googleapis.com/', '')
52
52
  @batch_path = 'batch'
53
53
  end
54
+
55
+ # Creates a new custom dashboard.This method requires the monitoring.dashboards.
56
+ # create permission on the specified project. For more information, see Google
57
+ # Cloud IAM (https://cloud.google.com/iam).
58
+ # @param [String] parent
59
+ # The project on which to execute the request. The format is "projects/`
60
+ # project_id_or_number`". The `project_id_or_number` must match the dashboard
61
+ # resource name.
62
+ # @param [Google::Apis::MonitoringV1::Dashboard] dashboard_object
63
+ # @param [String] fields
64
+ # Selector specifying which fields to include in a partial response.
65
+ # @param [String] quota_user
66
+ # Available to use for quota purposes for server-side applications. Can be any
67
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
68
+ # @param [Google::Apis::RequestOptions] options
69
+ # Request-specific options
70
+ #
71
+ # @yield [result, err] Result & error if block supplied
72
+ # @yieldparam result [Google::Apis::MonitoringV1::Dashboard] parsed result object
73
+ # @yieldparam err [StandardError] error object if request failed
74
+ #
75
+ # @return [Google::Apis::MonitoringV1::Dashboard]
76
+ #
77
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
78
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
79
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
80
+ def create_project_dashboard(parent, dashboard_object = nil, fields: nil, quota_user: nil, options: nil, &block)
81
+ command = make_simple_command(:post, 'v1/{+parent}/dashboards', options)
82
+ command.request_representation = Google::Apis::MonitoringV1::Dashboard::Representation
83
+ command.request_object = dashboard_object
84
+ command.response_representation = Google::Apis::MonitoringV1::Dashboard::Representation
85
+ command.response_class = Google::Apis::MonitoringV1::Dashboard
86
+ command.params['parent'] = parent unless parent.nil?
87
+ command.query['fields'] = fields unless fields.nil?
88
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
89
+ execute_or_queue_command(command, &block)
90
+ end
91
+
92
+ # Deletes an existing custom dashboard.This method requires the monitoring.
93
+ # dashboards.delete permission on the specified dashboard. For more information,
94
+ # see Google Cloud IAM (https://cloud.google.com/iam).
95
+ # @param [String] name
96
+ # The resource name of the Dashboard. The format is "projects/`
97
+ # project_id_or_number`/dashboards/`dashboard_id`".
98
+ # @param [String] fields
99
+ # Selector specifying which fields to include in a partial response.
100
+ # @param [String] quota_user
101
+ # Available to use for quota purposes for server-side applications. Can be any
102
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
103
+ # @param [Google::Apis::RequestOptions] options
104
+ # Request-specific options
105
+ #
106
+ # @yield [result, err] Result & error if block supplied
107
+ # @yieldparam result [Google::Apis::MonitoringV1::Empty] parsed result object
108
+ # @yieldparam err [StandardError] error object if request failed
109
+ #
110
+ # @return [Google::Apis::MonitoringV1::Empty]
111
+ #
112
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
113
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
114
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
115
+ def delete_project_dashboard(name, fields: nil, quota_user: nil, options: nil, &block)
116
+ command = make_simple_command(:delete, 'v1/{+name}', options)
117
+ command.response_representation = Google::Apis::MonitoringV1::Empty::Representation
118
+ command.response_class = Google::Apis::MonitoringV1::Empty
119
+ command.params['name'] = name unless name.nil?
120
+ command.query['fields'] = fields unless fields.nil?
121
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
122
+ execute_or_queue_command(command, &block)
123
+ end
124
+
125
+ # Fetches a specific dashboard.This method requires the monitoring.dashboards.
126
+ # get permission on the specified dashboard. For more information, see Google
127
+ # Cloud IAM (https://cloud.google.com/iam).
128
+ # @param [String] name
129
+ # The resource name of the Dashboard. The format is one of "dashboards/`
130
+ # dashboard_id`" (for system dashboards) or "projects/`project_id_or_number`/
131
+ # dashboards/`dashboard_id`" (for custom dashboards).
132
+ # @param [String] fields
133
+ # Selector specifying which fields to include in a partial response.
134
+ # @param [String] quota_user
135
+ # Available to use for quota purposes for server-side applications. Can be any
136
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
137
+ # @param [Google::Apis::RequestOptions] options
138
+ # Request-specific options
139
+ #
140
+ # @yield [result, err] Result & error if block supplied
141
+ # @yieldparam result [Google::Apis::MonitoringV1::Dashboard] parsed result object
142
+ # @yieldparam err [StandardError] error object if request failed
143
+ #
144
+ # @return [Google::Apis::MonitoringV1::Dashboard]
145
+ #
146
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
147
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
148
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
149
+ def get_project_dashboard(name, fields: nil, quota_user: nil, options: nil, &block)
150
+ command = make_simple_command(:get, 'v1/{+name}', options)
151
+ command.response_representation = Google::Apis::MonitoringV1::Dashboard::Representation
152
+ command.response_class = Google::Apis::MonitoringV1::Dashboard
153
+ command.params['name'] = name unless name.nil?
154
+ command.query['fields'] = fields unless fields.nil?
155
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
156
+ execute_or_queue_command(command, &block)
157
+ end
158
+
159
+ # Lists the existing dashboards.This method requires the monitoring.dashboards.
160
+ # list permission on the specified project. For more information, see Google
161
+ # Cloud IAM (https://cloud.google.com/iam).
162
+ # @param [String] parent
163
+ # The scope of the dashboards to list. A project scope must be specified in the
164
+ # form of "projects/`project_id_or_number`".
165
+ # @param [Fixnum] page_size
166
+ # A positive number that is the maximum number of results to return. If
167
+ # unspecified, a default of 1000 is used.
168
+ # @param [String] page_token
169
+ # If this field is not empty then it must contain the nextPageToken value
170
+ # returned by a previous call to this method. Using this field causes the method
171
+ # to return additional results from the previous method call.
172
+ # @param [String] fields
173
+ # Selector specifying which fields to include in a partial response.
174
+ # @param [String] quota_user
175
+ # Available to use for quota purposes for server-side applications. Can be any
176
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
177
+ # @param [Google::Apis::RequestOptions] options
178
+ # Request-specific options
179
+ #
180
+ # @yield [result, err] Result & error if block supplied
181
+ # @yieldparam result [Google::Apis::MonitoringV1::ListDashboardsResponse] parsed result object
182
+ # @yieldparam err [StandardError] error object if request failed
183
+ #
184
+ # @return [Google::Apis::MonitoringV1::ListDashboardsResponse]
185
+ #
186
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
187
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
188
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
189
+ def list_project_dashboards(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
190
+ command = make_simple_command(:get, 'v1/{+parent}/dashboards', options)
191
+ command.response_representation = Google::Apis::MonitoringV1::ListDashboardsResponse::Representation
192
+ command.response_class = Google::Apis::MonitoringV1::ListDashboardsResponse
193
+ command.params['parent'] = parent unless parent.nil?
194
+ command.query['pageSize'] = page_size unless page_size.nil?
195
+ command.query['pageToken'] = page_token unless page_token.nil?
196
+ command.query['fields'] = fields unless fields.nil?
197
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
198
+ execute_or_queue_command(command, &block)
199
+ end
200
+
201
+ # Replaces an existing custom dashboard with a new definition.This method
202
+ # requires the monitoring.dashboards.update permission on the specified
203
+ # dashboard. For more information, see Google Cloud IAM (https://cloud.google.
204
+ # com/iam).
205
+ # @param [String] name
206
+ # The resource name of the dashboard.
207
+ # @param [Google::Apis::MonitoringV1::Dashboard] dashboard_object
208
+ # @param [String] fields
209
+ # Selector specifying which fields to include in a partial response.
210
+ # @param [String] quota_user
211
+ # Available to use for quota purposes for server-side applications. Can be any
212
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
213
+ # @param [Google::Apis::RequestOptions] options
214
+ # Request-specific options
215
+ #
216
+ # @yield [result, err] Result & error if block supplied
217
+ # @yieldparam result [Google::Apis::MonitoringV1::Dashboard] parsed result object
218
+ # @yieldparam err [StandardError] error object if request failed
219
+ #
220
+ # @return [Google::Apis::MonitoringV1::Dashboard]
221
+ #
222
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
223
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
224
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
225
+ def patch_project_dashboard(name, dashboard_object = nil, fields: nil, quota_user: nil, options: nil, &block)
226
+ command = make_simple_command(:patch, 'v1/{+name}', options)
227
+ command.request_representation = Google::Apis::MonitoringV1::Dashboard::Representation
228
+ command.request_object = dashboard_object
229
+ command.response_representation = Google::Apis::MonitoringV1::Dashboard::Representation
230
+ command.response_class = Google::Apis::MonitoringV1::Dashboard
231
+ command.params['name'] = name unless name.nil?
232
+ command.query['fields'] = fields unless fields.nil?
233
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
234
+ execute_or_queue_command(command, &block)
235
+ end
54
236
 
55
237
  protected
56
238
 
@@ -30,7 +30,7 @@ module Google
30
30
  # @see https://cloud.google.com/monitoring/api/
31
31
  module MonitoringV3
32
32
  VERSION = 'V3'
33
- REVISION = '20191118'
33
+ REVISION = '20191202'
34
34
 
35
35
  # View and manage your data across Google Cloud Platform services
36
36
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -2123,39 +2123,17 @@ module Google
2123
2123
  # @return [String]
2124
2124
  attr_accessor :type
2125
2125
 
2126
- # The unit in which the metric value is reported. It is only applicable if the
2127
- # value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset
2128
- # of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html)
2129
- # standard:Basic units (UNIT)
2130
- # bit bit
2131
- # By byte
2132
- # s second
2133
- # min minute
2134
- # h hour
2135
- # d dayPrefixes (PREFIX)
2136
- # k kilo (10**3)
2137
- # M mega (10**6)
2138
- # G giga (10**9)
2139
- # T tera (10**12)
2140
- # P peta (10**15)
2141
- # E exa (10**18)
2142
- # Z zetta (10**21)
2143
- # Y yotta (10**24)
2144
- # m milli (10**-3)
2145
- # u micro (10**-6)
2146
- # n nano (10**-9)
2147
- # p pico (10**-12)
2148
- # f femto (10**-15)
2149
- # a atto (10**-18)
2150
- # z zepto (10**-21)
2151
- # y yocto (10**-24)
2152
- # Ki kibi (2**10)
2153
- # Mi mebi (2**20)
2154
- # Gi gibi (2**30)
2155
- # Ti tebi (2**40)GrammarThe grammar also includes these connectors:
2156
- # / division (as an infix operator, e.g. 1/s).
2157
- # . multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is
2158
- # as follows:
2126
+ # Ki kibi (2^10)
2127
+ # Mi mebi (2^20)
2128
+ # Gi gibi (2^30)
2129
+ # Ti tebi (2^40)
2130
+ # Pi pebi (2^50)GrammarThe grammar also includes these connectors:
2131
+ # / division or ratio (as an infix operator). For examples, kBy/`email` or MiBy/
2132
+ # 10ms (although you should almost never have /s in a metric unit; rates should
2133
+ # always be computed at query time from the underlying cumulative or delta
2134
+ # value).
2135
+ # . multiplication or composition (as an infix operator). For examples, GBy.d
2136
+ # or k`watt`.h.The grammar for a unit is as follows:
2159
2137
  # Expression = Component ` "." Component ` ` "/" Component ` ;
2160
2138
  # Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
2161
2139
  # | Annotation
@@ -2163,14 +2141,24 @@ module Google
2163
2141
  # ;
2164
2142
  # Annotation = "`" NAME "`" ;
2165
2143
  # Notes:
2166
- # Annotation is just a comment if it follows a UNIT and is equivalent to 1 if
2167
- # it is used alone. For examples, `requests`/s == 1/s, By`transmitted`/s == By/
2168
- # s.
2169
- # NAME is a sequence of non-blank printable ASCII characters not containing '`'
2170
- # or '`'.
2171
- # 1 represents dimensionless value 1, such as in 1/s.
2172
- # % represents dimensionless value 1/100, and annotates values giving a
2173
- # percentage.
2144
+ # Annotation is just a comment if it follows a UNIT. If the annotation is used
2145
+ # alone, then the unit is equivalent to 1. For examples, `request`/s == 1/s, By`
2146
+ # transmitted`/s == By/s.
2147
+ # NAME is a sequence of non-blank printable ASCII characters not containing `
2148
+ # or `.
2149
+ # 1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/
2150
+ # Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none
2151
+ # of the basic units are appropriate. For example, "new users per day" can be
2152
+ # represented as 1/d or `new-users`/d (and a metric value 5 would mean "5 new
2153
+ # users). Alternatively, "thousands of page views per day" would be represented
2154
+ # as 1000/d or k1/d or k`page_views`/d (and a metric value of 5.3 would mean "
2155
+ # 5300 page views per day").
2156
+ # % represents dimensionless value of 1/100, and annotates values giving a
2157
+ # percentage (so the metric values are typically in the range of 0..100, and a
2158
+ # metric value 3 means "3 percent").
2159
+ # 10^2.% indicates a metric contains a ratio, typically in the range 0..1, that
2160
+ # will be multiplied by 100 and displayed as a percentage (so a metric value 0.
2161
+ # 03 means "3 percent").
2174
2162
  # Corresponds to the JSON property `unit`
2175
2163
  # @return [String]
2176
2164
  attr_accessor :unit
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/iam/
26
26
  module PolicytroubleshooterV1beta
27
27
  VERSION = 'V1beta'
28
- REVISION = '20191118'
28
+ REVISION = '20191202'
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'
@@ -22,32 +22,35 @@ module Google
22
22
  module Apis
23
23
  module PolicytroubleshooterV1beta
24
24
 
25
- # AccessTuple defines information required for checking an access attempt.
26
- # In other words, this is the tuple given to `CheckAccess`.
25
+ # Information about the member, resource, and permission to check.
27
26
  class GoogleCloudPolicytroubleshooterV1betaAccessTuple
28
27
  include Google::Apis::Core::Hashable
29
28
 
30
- # Required. A full resource name according to
31
- # https://cloud.google.com/apis/design/resource_names. This is the full
32
- # resource name of the resource that access is checked against.
29
+ # Required. The full resource name that identifies the resource. For example,
30
+ # `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-
31
+ # instance`.
32
+ # For examples of full resource names for Google Cloud services, see
33
+ # https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
33
34
  # Corresponds to the JSON property `fullResourceName`
34
35
  # @return [String]
35
36
  attr_accessor :full_resource_name
36
37
 
37
- # Required. The Cloud IAM permission under which defines the kind of access
38
- # being explained. Example: "resourcemanager.projects.get" would explain
39
- # if and why the principal has the resourcemanager.projects.get permission
40
- # on the resource specified in full_resource_name declared in this structure.
41
- # See https://cloud.google.com/iam/docs/testing-permissions
38
+ # Required. The IAM permission to check for the specified member and resource.
39
+ # For a complete list of IAM permissions, see
40
+ # https://cloud.google.com/iam/help/permissions/reference.
41
+ # For a complete list of predefined IAM roles and the permissions in each
42
+ # role, see https://cloud.google.com/iam/help/roles/reference.
42
43
  # Corresponds to the JSON property `permission`
43
44
  # @return [String]
44
45
  attr_accessor :permission
45
46
 
46
- # Required. The principal on behalf of who the access is explained for.
47
- # The format is one of the principal's email addresses associated with
48
- # its gaia account. It must be an account that can appear as an actor.
49
- # For example groups are not supported. Currently, service accounts, users
50
- # are supported.
47
+ # Required. The member, or principal, whose access you want to check, in the
48
+ # form of
49
+ # the email address that represents that member. For example,
50
+ # `alice@example.com` or
51
+ # `my-service-account@my-project.iam.gserviceaccount.com`.
52
+ # The member must be a Google Account or a service account. Other types of
53
+ # members are not supported.
51
54
  # Corresponds to the JSON property `principal`
52
55
  # @return [String]
53
56
  attr_accessor :principal
@@ -64,11 +67,18 @@ module Google
64
67
  end
65
68
  end
66
69
 
67
- # Binding Explanation.
70
+ # Details about how a binding in a policy affects a member's ability to use a
71
+ # permission.
68
72
  class GoogleCloudPolicytroubleshooterV1betaBindingExplanation
69
73
  include Google::Apis::Core::Hashable
70
74
 
71
- # REQUIRED: Access decision for this binding.
75
+ # Indicates whether _this binding_ provides the specified permission to the
76
+ # specified member for the specified resource.
77
+ # This field does _not_ indicate whether the member actually has the
78
+ # permission for the resource. There might be another binding that overrides
79
+ # this binding. To determine whether the member actually has the permission,
80
+ # use the `access` field in the
81
+ # TroubleshootIamPolicyResponse.
72
82
  # Corresponds to the JSON property `access`
73
83
  # @return [String]
74
84
  attr_accessor :access
@@ -81,35 +91,47 @@ module Google
81
91
  # @return [Google::Apis::PolicytroubleshooterV1beta::GoogleTypeExpr]
82
92
  attr_accessor :condition
83
93
 
84
- # For each member in the binding, provides information
85
- # whether or not the principal from the request is included
86
- # in the member by which the CheckResult is keyed.
87
- # May indicate that the caller has no access to this information.
88
- # example key: 'group:cloud-iam-assist-eng@google.com'
89
- # example value '`NOT_GRANTED, HIGH`
94
+ # Indicates whether each member in the binding includes the member specified
95
+ # in the request, either directly or indirectly. Each key identifies a member
96
+ # in the binding, and each value indicates whether the member in the binding
97
+ # includes the member in the request.
98
+ # For example, suppose that a binding includes the following members:
99
+ # * `user:alice@example.com`
100
+ # * `group:product-eng@example.com`
101
+ # You want to troubleshoot access for `user:bob@example.com`. This user is a
102
+ # member of the group `group:product-eng@example.com`.
103
+ # For the first member in the binding, the key is `user:alice@example.com`,
104
+ # and the `membership` field in the value is set to
105
+ # `MEMBERSHIP_NOT_INCLUDED`.
106
+ # For the second member in the binding, the key is
107
+ # `group:product-eng@example.com`, and the `membership` field in the value is
108
+ # set to `MEMBERSHIP_INCLUDED`.
90
109
  # Corresponds to the JSON property `memberships`
91
110
  # @return [Hash<String,Google::Apis::PolicytroubleshooterV1beta::GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership>]
92
111
  attr_accessor :memberships
93
112
 
94
- # Bubbles up role_permission level relavance to BindingExplanation object.
95
- # If role permission is NORMAL, then binding relevance is NORMAL.
96
- # If role permission is HIGH, then binding relevance is HIGH.
113
+ # The relevance of this binding to the overall determination for the entire
114
+ # policy.
97
115
  # Corresponds to the JSON property `relevance`
98
116
  # @return [String]
99
117
  attr_accessor :relevance
100
118
 
101
- # The role that this binding grants in the policy.
102
- # for example "roles/compute.serviceAgent"
119
+ # The role that this binding grants. For example,
120
+ # `roles/compute.serviceAgent`.
121
+ # For a complete list of predefined IAM roles, as well as the permissions in
122
+ # each role, see https://cloud.google.com/iam/help/roles/reference.
103
123
  # Corresponds to the JSON property `role`
104
124
  # @return [String]
105
125
  attr_accessor :role
106
126
 
107
- # Whether the role of this binding contains the checked permission
127
+ # Indicates whether the role granted by this binding contains the specified
128
+ # permission.
108
129
  # Corresponds to the JSON property `rolePermission`
109
130
  # @return [String]
110
131
  attr_accessor :role_permission
111
132
 
112
- # The relevance of this permission with respect to the BindingExplanation.
133
+ # The relevance of the permission's existence, or nonexistence, in the role
134
+ # to the overall determination for the entire policy.
113
135
  # Corresponds to the JSON property `rolePermissionRelevance`
114
136
  # @return [String]
115
137
  attr_accessor :role_permission_relevance
@@ -130,17 +152,17 @@ module Google
130
152
  end
131
153
  end
132
154
 
133
- # Encapsulated membership and the relevance of that membership with respect
134
- # to BindingExplanation.
155
+ # Details about whether the binding includes the member.
135
156
  class GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership
136
157
  include Google::Apis::Core::Hashable
137
158
 
138
- # Membership status.
159
+ # Indicates whether the binding includes the member.
139
160
  # Corresponds to the JSON property `membership`
140
161
  # @return [String]
141
162
  attr_accessor :membership
142
163
 
143
- # Relevance of this membership with respect to BindingExplanation.
164
+ # The relevance of the member's status to the overall determination for the
165
+ # binding.
144
166
  # Corresponds to the JSON property `relevance`
145
167
  # @return [String]
146
168
  attr_accessor :relevance
@@ -156,39 +178,53 @@ module Google
156
178
  end
157
179
  end
158
180
 
159
- # An explained IAM policy combines the raw policy in the context
160
- # of the resource which it is attached to along with detailed
161
- # evaluation on the evaluation parameters provided through the request.
181
+ # Details about how a specific IAM Policy contributed
182
+ # to the access check.
162
183
  class GoogleCloudPolicytroubleshooterV1betaExplainedPolicy
163
184
  include Google::Apis::Core::Hashable
164
185
 
165
- # Access decision for this section of the resource's effective policy.
186
+ # Indicates whether _this policy_ provides the specified permission to the
187
+ # specified member for the specified resource.
188
+ # This field does _not_ indicate whether the member actually has the
189
+ # permission for the resource. There might be another policy that overrides
190
+ # this policy. To determine whether the member actually has the permission,
191
+ # use the `access` field in the
192
+ # TroubleshootIamPolicyResponse.
166
193
  # Corresponds to the JSON property `access`
167
194
  # @return [String]
168
195
  attr_accessor :access
169
196
 
170
- # Detailed binding evaluation explanations provide information
171
- # about how each binding contributes to the principal's
172
- # access or the lack thereof.
197
+ # Details about how each binding in the policy affects the member's ability,
198
+ # or inability, to use the permission for the resource.
199
+ # If the sender of the request does not have access to the policy, this field
200
+ # is omitted.
173
201
  # Corresponds to the JSON property `bindingExplanations`
174
202
  # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleCloudPolicytroubleshooterV1betaBindingExplanation>]
175
203
  attr_accessor :binding_explanations
176
204
 
177
- # Resource that this section of the effective policy attaches to.
205
+ # The full resource name that identifies the resource. For example,
206
+ # `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-
207
+ # instance`.
208
+ # If the sender of the request does not have access to the policy, this field
209
+ # is omitted.
210
+ # For examples of full resource names for Google Cloud services, see
211
+ # https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
178
212
  # Corresponds to the JSON property `fullResourceName`
179
213
  # @return [String]
180
214
  attr_accessor :full_resource_name
181
215
 
182
- # Defines an Identity and Access Management (IAM) policy. It is used to
183
- # specify access control policies for Cloud Platform resources.
216
+ # An Identity and Access Management (IAM) policy, which specifies access
217
+ # controls for Google Cloud resources.
184
218
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
185
219
  # `members` to a single `role`. Members can be user accounts, service accounts,
186
220
  # Google groups, and domains (such as G Suite). A `role` is a named list of
187
- # permissions (defined by IAM or configured by users). A `binding` can
188
- # optionally specify a `condition`, which is a logic expression that further
189
- # constrains the role binding based on attributes about the request and/or
190
- # target resource.
191
- # **JSON Example**
221
+ # permissions; each `role` can be an IAM predefined role or a user-created
222
+ # custom role.
223
+ # Optionally, a `binding` can specify a `condition`, which is a logical
224
+ # expression that allows access to a resource only if the expression evaluates
225
+ # to `true`. A condition can add constraints based on attributes of the
226
+ # request, the resource, or both.
227
+ # **JSON example:**
192
228
  # `
193
229
  # "bindings": [
194
230
  # `
@@ -206,13 +242,15 @@ module Google
206
242
  # "condition": `
207
243
  # "title": "expirable access",
208
244
  # "description": "Does not grant access after Sep 2020",
209
- # "expression": "request.time <
210
- # timestamp('2020-10-01T00:00:00.000Z')",
245
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
246
+ # ",
211
247
  # `
212
248
  # `
213
- # ]
249
+ # ],
250
+ # "etag": "BwWWja0YfJA=",
251
+ # "version": 3
214
252
  # `
215
- # **YAML Example**
253
+ # **YAML example:**
216
254
  # bindings:
217
255
  # - members:
218
256
  # - user:mike@example.com
@@ -227,13 +265,18 @@ module Google
227
265
  # title: expirable access
228
266
  # description: Does not grant access after Sep 2020
229
267
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
268
+ # - etag: BwWWja0YfJA=
269
+ # - version: 3
230
270
  # For a description of IAM and its features, see the
231
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
271
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
232
272
  # Corresponds to the JSON property `policy`
233
273
  # @return [Google::Apis::PolicytroubleshooterV1beta::GoogleIamV1Policy]
234
274
  attr_accessor :policy
235
275
 
236
- # Relevance of this Policy.
276
+ # The relevance of this policy to the overall determination in the
277
+ # TroubleshootIamPolicyResponse.
278
+ # If the sender of the request does not have access to the policy, this field
279
+ # is omitted.
237
280
  # Corresponds to the JSON property `relevance`
238
281
  # @return [String]
239
282
  attr_accessor :relevance
@@ -252,12 +295,11 @@ module Google
252
295
  end
253
296
  end
254
297
 
255
- # TroubleshootIamPolicyRequest is used in TroubleshootIamPolicy
298
+ # Request for TroubleshootIamPolicy.
256
299
  class GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyRequest
257
300
  include Google::Apis::Core::Hashable
258
301
 
259
- # AccessTuple defines information required for checking an access attempt.
260
- # In other words, this is the tuple given to `CheckAccess`.
302
+ # Information about the member, resource, and permission to check.
261
303
  # Corresponds to the JSON property `accessTuple`
262
304
  # @return [Google::Apis::PolicytroubleshooterV1beta::GoogleCloudPolicytroubleshooterV1betaAccessTuple]
263
305
  attr_accessor :access_tuple
@@ -272,18 +314,24 @@ module Google
272
314
  end
273
315
  end
274
316
 
275
- # TroubleshootIamPolicyResponse is used in TroubleshootIamPolicy.
317
+ # Response for TroubleshootIamPolicy.
276
318
  class GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyResponse
277
319
  include Google::Apis::Core::Hashable
278
320
 
279
- # Reflects whether the probed access was granted, denied
280
- # or ultimately could not be decided from the caller's point of view.
321
+ # Indicates whether the member has the specified permission for the specified
322
+ # resource, based on evaluating all of the applicable policies.
281
323
  # Corresponds to the JSON property `access`
282
324
  # @return [String]
283
325
  attr_accessor :access
284
326
 
285
- # List of explained policies.
286
- # Each explanation corresponds to one policy along the ancestry path.
327
+ # List of IAM policies that were evaluated to check the member's permissions,
328
+ # with annotations to indicate how each policy contributed to the final
329
+ # result.
330
+ # The list of policies can include the policy for the resource itself. It can
331
+ # also include policies that are inherited from higher levels of the resource
332
+ # hierarchy, including the organization, the folder, and the project.
333
+ # To learn more about the resource hierarchy, see
334
+ # https://cloud.google.com/iam/help/resource-hierarchy.
287
335
  # Corresponds to the JSON property `explainedPolicies`
288
336
  # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleCloudPolicytroubleshooterV1betaExplainedPolicy>]
289
337
  attr_accessor :explained_policies
@@ -439,6 +487,23 @@ module Google
439
487
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
440
488
  # * `group:`emailid``: An email address that represents a Google group.
441
489
  # For example, `admins@example.com`.
490
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
491
+ # identifier) representing a user that has been recently deleted. For
492
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
493
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
494
+ # retains the role in the binding.
495
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
496
+ # unique identifier) representing a service account that has been recently
497
+ # deleted. For example,
498
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
499
+ # If the service account is undeleted, this value reverts to
500
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
501
+ # role in the binding.
502
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
503
+ # identifier) representing a Google group that has been recently
504
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
505
+ # the group is recovered, this value reverts to `group:`emailid`` and the
506
+ # recovered group retains the role in the binding.
442
507
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
443
508
  # users of that domain. For example, `google.com` or `example.com`.
444
509
  # Corresponds to the JSON property `members`
@@ -463,16 +528,18 @@ module Google
463
528
  end
464
529
  end
465
530
 
466
- # Defines an Identity and Access Management (IAM) policy. It is used to
467
- # specify access control policies for Cloud Platform resources.
531
+ # An Identity and Access Management (IAM) policy, which specifies access
532
+ # controls for Google Cloud resources.
468
533
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
469
534
  # `members` to a single `role`. Members can be user accounts, service accounts,
470
535
  # Google groups, and domains (such as G Suite). A `role` is a named list of
471
- # permissions (defined by IAM or configured by users). A `binding` can
472
- # optionally specify a `condition`, which is a logic expression that further
473
- # constrains the role binding based on attributes about the request and/or
474
- # target resource.
475
- # **JSON Example**
536
+ # permissions; each `role` can be an IAM predefined role or a user-created
537
+ # custom role.
538
+ # Optionally, a `binding` can specify a `condition`, which is a logical
539
+ # expression that allows access to a resource only if the expression evaluates
540
+ # to `true`. A condition can add constraints based on attributes of the
541
+ # request, the resource, or both.
542
+ # **JSON example:**
476
543
  # `
477
544
  # "bindings": [
478
545
  # `
@@ -490,13 +557,15 @@ module Google
490
557
  # "condition": `
491
558
  # "title": "expirable access",
492
559
  # "description": "Does not grant access after Sep 2020",
493
- # "expression": "request.time <
494
- # timestamp('2020-10-01T00:00:00.000Z')",
560
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
561
+ # ",
495
562
  # `
496
563
  # `
497
- # ]
564
+ # ],
565
+ # "etag": "BwWWja0YfJA=",
566
+ # "version": 3
498
567
  # `
499
- # **YAML Example**
568
+ # **YAML example:**
500
569
  # bindings:
501
570
  # - members:
502
571
  # - user:mike@example.com
@@ -511,8 +580,10 @@ module Google
511
580
  # title: expirable access
512
581
  # description: Does not grant access after Sep 2020
513
582
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
583
+ # - etag: BwWWja0YfJA=
584
+ # - version: 3
514
585
  # For a description of IAM and its features, see the
515
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
586
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
516
587
  class GoogleIamV1Policy
517
588
  include Google::Apis::Core::Hashable
518
589
 
@@ -521,9 +592,9 @@ module Google
521
592
  # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleIamV1AuditConfig>]
522
593
  attr_accessor :audit_configs
523
594
 
524
- # Associates a list of `members` to a `role`. Optionally may specify a
525
- # `condition` that determines when binding is in effect.
526
- # `bindings` with no members will result in an error.
595
+ # Associates a list of `members` to a `role`. Optionally, may specify a
596
+ # `condition` that determines how and when the `bindings` are applied. Each
597
+ # of the `bindings` must contain at least one member.
527
598
  # Corresponds to the JSON property `bindings`
528
599
  # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleIamV1Binding>]
529
600
  attr_accessor :bindings
@@ -535,26 +606,31 @@ module Google
535
606
  # conditions: An `etag` is returned in the response to `getIamPolicy`, and
536
607
  # systems are expected to put that etag in the request to `setIamPolicy` to
537
608
  # ensure that their change will be applied to the same version of the policy.
538
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
539
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
540
- # 'setIamPolicy' will not fail even if the incoming policy version does not
541
- # meet the requirements for modifying the stored policy.
609
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
610
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
611
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
612
+ # the conditions in the version `3` policy are lost.
542
613
  # Corresponds to the JSON property `etag`
543
614
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
544
615
  # @return [String]
545
616
  attr_accessor :etag
546
617
 
547
618
  # Specifies the format of the policy.
548
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
549
- # rejected.
550
- # Operations affecting conditional bindings must specify version 3. This can
551
- # be either setting a conditional policy, modifying a conditional binding,
552
- # or removing a binding (conditional or unconditional) from the stored
553
- # conditional policy.
554
- # Operations on non-conditional policies may specify any valid value or
555
- # leave the field unset.
556
- # If no etag is provided in the call to `setIamPolicy`, version compliance
557
- # checks against the stored policy is skipped.
619
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
620
+ # are rejected.
621
+ # Any operation that affects conditional role bindings must specify version
622
+ # `3`. This requirement applies to the following operations:
623
+ # * Getting a policy that includes a conditional role binding
624
+ # * Adding a conditional role binding to a policy
625
+ # * Changing a conditional role binding in a policy
626
+ # * Removing any role binding, with or without a condition, from a policy
627
+ # that includes conditions
628
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
629
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
630
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
631
+ # the conditions in the version `3` policy are lost.
632
+ # If a policy does not include any conditions, operations on that policy may
633
+ # specify any valid version or leave the field unset.
558
634
  # Corresponds to the JSON property `version`
559
635
  # @return [Fixnum]
560
636
  attr_accessor :version