google-api-client 0.35.0 → 0.36.0

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