google-api-client 0.9.14 → 0.9.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,259 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module DatastoreV1
23
+ # Google Cloud Datastore API
24
+ #
25
+ # Accesses the schemaless NoSQL database to provide fully managed, robust,
26
+ # scalable storage for your application.
27
+ #
28
+ # @example
29
+ # require 'google/apis/datastore_v1'
30
+ #
31
+ # Datastore = Google::Apis::DatastoreV1 # Alias the module
32
+ # service = Datastore::DatastoreService.new
33
+ #
34
+ # @see https://cloud.google.com/datastore/
35
+ class DatastoreService < Google::Apis::Core::BaseService
36
+ # @return [String]
37
+ # API key. Your API key identifies your project and provides you with API access,
38
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
39
+ attr_accessor :key
40
+
41
+ # @return [String]
42
+ # Available to use for quota purposes for server-side applications. Can be any
43
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
44
+ attr_accessor :quota_user
45
+
46
+ def initialize
47
+ super('https://datastore.googleapis.com/', '')
48
+ end
49
+
50
+ # Queries for entities.
51
+ # @param [String] project_id
52
+ # The ID of the project against which to make the request.
53
+ # @param [Google::Apis::DatastoreV1::RunQueryRequest] run_query_request_object
54
+ # @param [String] quota_user
55
+ # Available to use for quota purposes for server-side applications. Can be any
56
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
57
+ # @param [String] fields
58
+ # Selector specifying which fields to include in a partial response.
59
+ # @param [Google::Apis::RequestOptions] options
60
+ # Request-specific options
61
+ #
62
+ # @yield [result, err] Result & error if block supplied
63
+ # @yieldparam result [Google::Apis::DatastoreV1::RunQueryResponse] parsed result object
64
+ # @yieldparam err [StandardError] error object if request failed
65
+ #
66
+ # @return [Google::Apis::DatastoreV1::RunQueryResponse]
67
+ #
68
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
69
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
70
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
71
+ def run_project_query(project_id, run_query_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
72
+ command = make_simple_command(:post, 'v1/projects/{projectId}:runQuery', options)
73
+ command.request_representation = Google::Apis::DatastoreV1::RunQueryRequest::Representation
74
+ command.request_object = run_query_request_object
75
+ command.response_representation = Google::Apis::DatastoreV1::RunQueryResponse::Representation
76
+ command.response_class = Google::Apis::DatastoreV1::RunQueryResponse
77
+ command.params['projectId'] = project_id unless project_id.nil?
78
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
79
+ command.query['fields'] = fields unless fields.nil?
80
+ execute_or_queue_command(command, &block)
81
+ end
82
+
83
+ # Begins a new transaction.
84
+ # @param [String] project_id
85
+ # The ID of the project against which to make the request.
86
+ # @param [Google::Apis::DatastoreV1::BeginTransactionRequest] begin_transaction_request_object
87
+ # @param [String] quota_user
88
+ # Available to use for quota purposes for server-side applications. Can be any
89
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
90
+ # @param [String] fields
91
+ # Selector specifying which fields to include in a partial response.
92
+ # @param [Google::Apis::RequestOptions] options
93
+ # Request-specific options
94
+ #
95
+ # @yield [result, err] Result & error if block supplied
96
+ # @yieldparam result [Google::Apis::DatastoreV1::BeginTransactionResponse] parsed result object
97
+ # @yieldparam err [StandardError] error object if request failed
98
+ #
99
+ # @return [Google::Apis::DatastoreV1::BeginTransactionResponse]
100
+ #
101
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
102
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
103
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
104
+ def begin_project_transaction(project_id, begin_transaction_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
105
+ command = make_simple_command(:post, 'v1/projects/{projectId}:beginTransaction', options)
106
+ command.request_representation = Google::Apis::DatastoreV1::BeginTransactionRequest::Representation
107
+ command.request_object = begin_transaction_request_object
108
+ command.response_representation = Google::Apis::DatastoreV1::BeginTransactionResponse::Representation
109
+ command.response_class = Google::Apis::DatastoreV1::BeginTransactionResponse
110
+ command.params['projectId'] = project_id unless project_id.nil?
111
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
112
+ command.query['fields'] = fields unless fields.nil?
113
+ execute_or_queue_command(command, &block)
114
+ end
115
+
116
+ # Allocates IDs for the given keys, which is useful for referencing an entity
117
+ # before it is inserted.
118
+ # @param [String] project_id
119
+ # The ID of the project against which to make the request.
120
+ # @param [Google::Apis::DatastoreV1::AllocateIdsRequest] allocate_ids_request_object
121
+ # @param [String] quota_user
122
+ # Available to use for quota purposes for server-side applications. Can be any
123
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
124
+ # @param [String] fields
125
+ # Selector specifying which fields to include in a partial response.
126
+ # @param [Google::Apis::RequestOptions] options
127
+ # Request-specific options
128
+ #
129
+ # @yield [result, err] Result & error if block supplied
130
+ # @yieldparam result [Google::Apis::DatastoreV1::AllocateIdsResponse] parsed result object
131
+ # @yieldparam err [StandardError] error object if request failed
132
+ #
133
+ # @return [Google::Apis::DatastoreV1::AllocateIdsResponse]
134
+ #
135
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
136
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
137
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
138
+ def allocate_project_ids(project_id, allocate_ids_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
139
+ command = make_simple_command(:post, 'v1/projects/{projectId}:allocateIds', options)
140
+ command.request_representation = Google::Apis::DatastoreV1::AllocateIdsRequest::Representation
141
+ command.request_object = allocate_ids_request_object
142
+ command.response_representation = Google::Apis::DatastoreV1::AllocateIdsResponse::Representation
143
+ command.response_class = Google::Apis::DatastoreV1::AllocateIdsResponse
144
+ command.params['projectId'] = project_id unless project_id.nil?
145
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
146
+ command.query['fields'] = fields unless fields.nil?
147
+ execute_or_queue_command(command, &block)
148
+ end
149
+
150
+ # Looks up entities by key.
151
+ # @param [String] project_id
152
+ # The ID of the project against which to make the request.
153
+ # @param [Google::Apis::DatastoreV1::LookupRequest] lookup_request_object
154
+ # @param [String] quota_user
155
+ # Available to use for quota purposes for server-side applications. Can be any
156
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
157
+ # @param [String] fields
158
+ # Selector specifying which fields to include in a partial response.
159
+ # @param [Google::Apis::RequestOptions] options
160
+ # Request-specific options
161
+ #
162
+ # @yield [result, err] Result & error if block supplied
163
+ # @yieldparam result [Google::Apis::DatastoreV1::LookupResponse] parsed result object
164
+ # @yieldparam err [StandardError] error object if request failed
165
+ #
166
+ # @return [Google::Apis::DatastoreV1::LookupResponse]
167
+ #
168
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
169
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
170
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
171
+ def lookup_project(project_id, lookup_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
172
+ command = make_simple_command(:post, 'v1/projects/{projectId}:lookup', options)
173
+ command.request_representation = Google::Apis::DatastoreV1::LookupRequest::Representation
174
+ command.request_object = lookup_request_object
175
+ command.response_representation = Google::Apis::DatastoreV1::LookupResponse::Representation
176
+ command.response_class = Google::Apis::DatastoreV1::LookupResponse
177
+ command.params['projectId'] = project_id unless project_id.nil?
178
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
179
+ command.query['fields'] = fields unless fields.nil?
180
+ execute_or_queue_command(command, &block)
181
+ end
182
+
183
+ # Commits a transaction, optionally creating, deleting or modifying some
184
+ # entities.
185
+ # @param [String] project_id
186
+ # The ID of the project against which to make the request.
187
+ # @param [Google::Apis::DatastoreV1::CommitRequest] commit_request_object
188
+ # @param [String] quota_user
189
+ # Available to use for quota purposes for server-side applications. Can be any
190
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
191
+ # @param [String] fields
192
+ # Selector specifying which fields to include in a partial response.
193
+ # @param [Google::Apis::RequestOptions] options
194
+ # Request-specific options
195
+ #
196
+ # @yield [result, err] Result & error if block supplied
197
+ # @yieldparam result [Google::Apis::DatastoreV1::CommitResponse] parsed result object
198
+ # @yieldparam err [StandardError] error object if request failed
199
+ #
200
+ # @return [Google::Apis::DatastoreV1::CommitResponse]
201
+ #
202
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
203
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
204
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
205
+ def commit_project(project_id, commit_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
206
+ command = make_simple_command(:post, 'v1/projects/{projectId}:commit', options)
207
+ command.request_representation = Google::Apis::DatastoreV1::CommitRequest::Representation
208
+ command.request_object = commit_request_object
209
+ command.response_representation = Google::Apis::DatastoreV1::CommitResponse::Representation
210
+ command.response_class = Google::Apis::DatastoreV1::CommitResponse
211
+ command.params['projectId'] = project_id unless project_id.nil?
212
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
213
+ command.query['fields'] = fields unless fields.nil?
214
+ execute_or_queue_command(command, &block)
215
+ end
216
+
217
+ # Rolls back a transaction.
218
+ # @param [String] project_id
219
+ # The ID of the project against which to make the request.
220
+ # @param [Google::Apis::DatastoreV1::RollbackRequest] rollback_request_object
221
+ # @param [String] quota_user
222
+ # Available to use for quota purposes for server-side applications. Can be any
223
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
224
+ # @param [String] fields
225
+ # Selector specifying which fields to include in a partial response.
226
+ # @param [Google::Apis::RequestOptions] options
227
+ # Request-specific options
228
+ #
229
+ # @yield [result, err] Result & error if block supplied
230
+ # @yieldparam result [Google::Apis::DatastoreV1::RollbackResponse] parsed result object
231
+ # @yieldparam err [StandardError] error object if request failed
232
+ #
233
+ # @return [Google::Apis::DatastoreV1::RollbackResponse]
234
+ #
235
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
236
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
237
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
238
+ def rollback_project(project_id, rollback_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
239
+ command = make_simple_command(:post, 'v1/projects/{projectId}:rollback', options)
240
+ command.request_representation = Google::Apis::DatastoreV1::RollbackRequest::Representation
241
+ command.request_object = rollback_request_object
242
+ command.response_representation = Google::Apis::DatastoreV1::RollbackResponse::Representation
243
+ command.response_class = Google::Apis::DatastoreV1::RollbackResponse
244
+ command.params['projectId'] = project_id unless project_id.nil?
245
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
246
+ command.query['fields'] = fields unless fields.nil?
247
+ execute_or_queue_command(command, &block)
248
+ end
249
+
250
+ protected
251
+
252
+ def apply_command_defaults(command)
253
+ command.query['key'] = key unless key.nil?
254
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
255
+ end
256
+ end
257
+ end
258
+ end
259
+ end
@@ -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 = '20160913'
28
+ REVISION = '20160915'
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,6 +22,124 @@ module Google
22
22
  module Apis
23
23
  module DeploymentmanagerV2
24
24
 
25
+ # Enables "data access" audit logging for a service and specifies a list of
26
+ # members that are log-exempted.
27
+ class AuditConfig
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Specifies the identities that are exempted from "data access" audit logging
31
+ # for the `service` specified above. Follows the same format of Binding.members.
32
+ # Corresponds to the JSON property `exemptedMembers`
33
+ # @return [Array<String>]
34
+ attr_accessor :exempted_members
35
+
36
+ # Specifies a service that will be enabled for "data access" audit logging. For
37
+ # example, `resourcemanager`, `storage`, `compute`. `allServices` is a special
38
+ # value that covers all services.
39
+ # Corresponds to the JSON property `service`
40
+ # @return [String]
41
+ attr_accessor :service
42
+
43
+ def initialize(**args)
44
+ update!(**args)
45
+ end
46
+
47
+ # Update properties of this object
48
+ def update!(**args)
49
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
50
+ @service = args[:service] if args.key?(:service)
51
+ end
52
+ end
53
+
54
+ # Associates `members` with a `role`.
55
+ class Binding
56
+ include Google::Apis::Core::Hashable
57
+
58
+ # Specifies the identities requesting access for a Cloud Platform resource. `
59
+ # members` can have the following values:
60
+ # * `allUsers`: A special identifier that represents anyone who is on the
61
+ # internet; with or without a Google account.
62
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone who is
63
+ # authenticated with a Google account or a service account.
64
+ # * `user:`emailid``: An email address that represents a specific Google account.
65
+ # For example, `alice@gmail.com` or `joe@example.com`.
66
+ # * `serviceAccount:`emailid``: An email address that represents a service
67
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
68
+ # * `group:`emailid``: An email address that represents a Google group. For
69
+ # example, `admins@example.com`.
70
+ # * `domain:`domain``: A Google Apps domain name that represents all the users
71
+ # of that domain. For example, `google.com` or `example.com`.
72
+ # Corresponds to the JSON property `members`
73
+ # @return [Array<String>]
74
+ attr_accessor :members
75
+
76
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
77
+ # , or `roles/owner`.
78
+ # Corresponds to the JSON property `role`
79
+ # @return [String]
80
+ attr_accessor :role
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @members = args[:members] if args.key?(:members)
89
+ @role = args[:role] if args.key?(:role)
90
+ end
91
+ end
92
+
93
+ # A condition to be met.
94
+ class Condition
95
+ include Google::Apis::Core::Hashable
96
+
97
+ # Trusted attributes supplied by the IAM system.
98
+ # Corresponds to the JSON property `iam`
99
+ # @return [String]
100
+ attr_accessor :iam
101
+
102
+ # An operator to apply the subject with.
103
+ # Corresponds to the JSON property `op`
104
+ # @return [String]
105
+ attr_accessor :op
106
+
107
+ # Trusted attributes discharged by the service.
108
+ # Corresponds to the JSON property `svc`
109
+ # @return [String]
110
+ attr_accessor :svc
111
+
112
+ # Trusted attributes supplied by any service that owns resources and uses the
113
+ # IAM system for access control.
114
+ # Corresponds to the JSON property `sys`
115
+ # @return [String]
116
+ attr_accessor :sys
117
+
118
+ # DEPRECATED. Use 'values' instead.
119
+ # Corresponds to the JSON property `value`
120
+ # @return [String]
121
+ attr_accessor :value
122
+
123
+ # The objects of the condition. This is mutually exclusive with 'value'.
124
+ # Corresponds to the JSON property `values`
125
+ # @return [Array<String>]
126
+ attr_accessor :values
127
+
128
+ def initialize(**args)
129
+ update!(**args)
130
+ end
131
+
132
+ # Update properties of this object
133
+ def update!(**args)
134
+ @iam = args[:iam] if args.key?(:iam)
135
+ @op = args[:op] if args.key?(:op)
136
+ @svc = args[:svc] if args.key?(:svc)
137
+ @sys = args[:sys] if args.key?(:sys)
138
+ @value = args[:value] if args.key?(:value)
139
+ @values = args[:values] if args.key?(:values)
140
+ end
141
+ end
142
+
25
143
  #
26
144
  class ConfigFile
27
145
  include Google::Apis::Core::Hashable
@@ -323,6 +441,50 @@ module Google
323
441
  end
324
442
  end
325
443
 
444
+ # Specifies what kind of log the caller must write
445
+ class LogConfig
446
+ include Google::Apis::Core::Hashable
447
+
448
+ # Options for counters
449
+ # Corresponds to the JSON property `counter`
450
+ # @return [Google::Apis::DeploymentmanagerV2::LogConfigCounterOptions]
451
+ attr_accessor :counter
452
+
453
+ def initialize(**args)
454
+ update!(**args)
455
+ end
456
+
457
+ # Update properties of this object
458
+ def update!(**args)
459
+ @counter = args[:counter] if args.key?(:counter)
460
+ end
461
+ end
462
+
463
+ # Options for counters
464
+ class LogConfigCounterOptions
465
+ include Google::Apis::Core::Hashable
466
+
467
+ # The field value to attribute.
468
+ # Corresponds to the JSON property `field`
469
+ # @return [String]
470
+ attr_accessor :field
471
+
472
+ # The metric to update.
473
+ # Corresponds to the JSON property `metric`
474
+ # @return [String]
475
+ attr_accessor :metric
476
+
477
+ def initialize(**args)
478
+ update!(**args)
479
+ end
480
+
481
+ # Update properties of this object
482
+ def update!(**args)
483
+ @field = args[:field] if args.key?(:field)
484
+ @metric = args[:metric] if args.key?(:metric)
485
+ end
486
+ end
487
+
326
488
  #
327
489
  class Manifest
328
490
  include Google::Apis::Core::Hashable
@@ -726,10 +888,97 @@ module Google
726
888
  end
727
889
  end
728
890
 
891
+ # Defines an Identity and Access Management (IAM) policy. It is used to specify
892
+ # access control policies for Cloud Platform resources.
893
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `
894
+ # members` to a `role`, where the members can be user accounts, Google groups,
895
+ # Google domains, and service accounts. A `role` is a named list of permissions
896
+ # defined by IAM.
897
+ # **Example**
898
+ # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
899
+ # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
900
+ # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
901
+ # sean@example.com"] ` ] `
902
+ # For a description of IAM and its features, see the [IAM developer's guide](
903
+ # https://cloud.google.com/iam).
904
+ class Policy
905
+ include Google::Apis::Core::Hashable
906
+
907
+ # Specifies audit logging configs for "data access". "data access": generally
908
+ # refers to data reads/writes and admin reads. "admin activity": generally
909
+ # refers to admin writes.
910
+ # Note: `AuditConfig` doesn't apply to "admin activity", which always enables
911
+ # audit logging.
912
+ # Corresponds to the JSON property `auditConfigs`
913
+ # @return [Array<Google::Apis::DeploymentmanagerV2::AuditConfig>]
914
+ attr_accessor :audit_configs
915
+
916
+ # Associates a list of `members` to a `role`. Multiple `bindings` must not be
917
+ # specified for the same `role`. `bindings` with no members will result in an
918
+ # error.
919
+ # Corresponds to the JSON property `bindings`
920
+ # @return [Array<Google::Apis::DeploymentmanagerV2::Binding>]
921
+ attr_accessor :bindings
922
+
923
+ # `etag` is used for optimistic concurrency control as a way to help prevent
924
+ # simultaneous updates of a policy from overwriting each other. It is strongly
925
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
926
+ # to perform policy updates in order to avoid race conditions: An `etag` is
927
+ # returned in the response to `getIamPolicy`, and systems are expected to put
928
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
929
+ # applied to the same version of the policy.
930
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
931
+ # policy is overwritten blindly.
932
+ # Corresponds to the JSON property `etag`
933
+ # @return [String]
934
+ attr_accessor :etag
935
+
936
+ #
937
+ # Corresponds to the JSON property `iamOwned`
938
+ # @return [Boolean]
939
+ attr_accessor :iam_owned
940
+ alias_method :iam_owned?, :iam_owned
941
+
942
+ # If more than one rule is specified, the rules are applied in the following
943
+ # manner: - All matching LOG rules are always applied. - If any DENY/
944
+ # DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if
945
+ # one or more matching rule requires logging. - Otherwise, if any ALLOW/
946
+ # ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if
947
+ # one or more matching rule requires logging. - Otherwise, if no rule applies,
948
+ # permission is denied.
949
+ # Corresponds to the JSON property `rules`
950
+ # @return [Array<Google::Apis::DeploymentmanagerV2::Rule>]
951
+ attr_accessor :rules
952
+
953
+ # Version of the `Policy`. The default version is 0.
954
+ # Corresponds to the JSON property `version`
955
+ # @return [Fixnum]
956
+ attr_accessor :version
957
+
958
+ def initialize(**args)
959
+ update!(**args)
960
+ end
961
+
962
+ # Update properties of this object
963
+ def update!(**args)
964
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
965
+ @bindings = args[:bindings] if args.key?(:bindings)
966
+ @etag = args[:etag] if args.key?(:etag)
967
+ @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
968
+ @rules = args[:rules] if args.key?(:rules)
969
+ @version = args[:version] if args.key?(:version)
970
+ end
971
+ end
972
+
729
973
  #
730
974
  class Resource
731
975
  include Google::Apis::Core::Hashable
732
976
 
977
+ # The access controls set on the resource.
978
+ # Corresponds to the JSON property `accessControl`
979
+ # @return [Google::Apis::DeploymentmanagerV2::ResourceAccessControl]
980
+ attr_accessor :access_control
981
+
733
982
  # [Output Only] The evaluated properties of the resource with references
734
983
  # expanded. Returned as serialized YAML.
735
984
  # Corresponds to the JSON property `finalProperties`
@@ -797,6 +1046,7 @@ module Google
797
1046
 
798
1047
  # Update properties of this object
799
1048
  def update!(**args)
1049
+ @access_control = args[:access_control] if args.key?(:access_control)
800
1050
  @final_properties = args[:final_properties] if args.key?(:final_properties)
801
1051
  @id = args[:id] if args.key?(:id)
802
1052
  @insert_time = args[:insert_time] if args.key?(:insert_time)
@@ -875,10 +1125,34 @@ module Google
875
1125
  end
876
1126
  end
877
1127
 
1128
+ # The access controls set on the resource.
1129
+ class ResourceAccessControl
1130
+ include Google::Apis::Core::Hashable
1131
+
1132
+ # The GCP IAM Policy to set on the resource.
1133
+ # Corresponds to the JSON property `gcpIamPolicy`
1134
+ # @return [String]
1135
+ attr_accessor :gcp_iam_policy
1136
+
1137
+ def initialize(**args)
1138
+ update!(**args)
1139
+ end
1140
+
1141
+ # Update properties of this object
1142
+ def update!(**args)
1143
+ @gcp_iam_policy = args[:gcp_iam_policy] if args.key?(:gcp_iam_policy)
1144
+ end
1145
+ end
1146
+
878
1147
  #
879
1148
  class ResourceUpdate
880
1149
  include Google::Apis::Core::Hashable
881
1150
 
1151
+ # The access controls set on the resource.
1152
+ # Corresponds to the JSON property `accessControl`
1153
+ # @return [Google::Apis::DeploymentmanagerV2::ResourceAccessControl]
1154
+ attr_accessor :access_control
1155
+
882
1156
  # [Output Only] If errors are generated during update of the resource, this
883
1157
  # field will be populated.
884
1158
  # Corresponds to the JSON property `error`
@@ -925,6 +1199,7 @@ module Google
925
1199
 
926
1200
  # Update properties of this object
927
1201
  def update!(**args)
1202
+ @access_control = args[:access_control] if args.key?(:access_control)
928
1203
  @error = args[:error] if args.key?(:error)
929
1204
  @final_properties = args[:final_properties] if args.key?(:final_properties)
930
1205
  @intent = args[:intent] if args.key?(:intent)
@@ -1077,6 +1352,66 @@ module Google
1077
1352
  end
1078
1353
  end
1079
1354
 
1355
+ # A rule to be applied in a Policy.
1356
+ class Rule
1357
+ include Google::Apis::Core::Hashable
1358
+
1359
+ # Required
1360
+ # Corresponds to the JSON property `action`
1361
+ # @return [String]
1362
+ attr_accessor :action
1363
+
1364
+ # Additional restrictions that must be met
1365
+ # Corresponds to the JSON property `conditions`
1366
+ # @return [Array<Google::Apis::DeploymentmanagerV2::Condition>]
1367
+ attr_accessor :conditions
1368
+
1369
+ # Human-readable description of the rule.
1370
+ # Corresponds to the JSON property `description`
1371
+ # @return [String]
1372
+ attr_accessor :description
1373
+
1374
+ # If one or more 'in' clauses are specified, the rule matches if the PRINCIPAL/
1375
+ # AUTHORITY_SELECTOR is in at least one of these entries.
1376
+ # Corresponds to the JSON property `ins`
1377
+ # @return [Array<String>]
1378
+ attr_accessor :ins
1379
+
1380
+ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
1381
+ # that match the LOG action.
1382
+ # Corresponds to the JSON property `logConfigs`
1383
+ # @return [Array<Google::Apis::DeploymentmanagerV2::LogConfig>]
1384
+ attr_accessor :log_configs
1385
+
1386
+ # If one or more 'not_in' clauses are specified, the rule matches if the
1387
+ # PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
1388
+ # Corresponds to the JSON property `notIns`
1389
+ # @return [Array<String>]
1390
+ attr_accessor :not_ins
1391
+
1392
+ # A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value
1393
+ # of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.
1394
+ # *') matches all verbs.
1395
+ # Corresponds to the JSON property `permissions`
1396
+ # @return [Array<String>]
1397
+ attr_accessor :permissions
1398
+
1399
+ def initialize(**args)
1400
+ update!(**args)
1401
+ end
1402
+
1403
+ # Update properties of this object
1404
+ def update!(**args)
1405
+ @action = args[:action] if args.key?(:action)
1406
+ @conditions = args[:conditions] if args.key?(:conditions)
1407
+ @description = args[:description] if args.key?(:description)
1408
+ @ins = args[:ins] if args.key?(:ins)
1409
+ @log_configs = args[:log_configs] if args.key?(:log_configs)
1410
+ @not_ins = args[:not_ins] if args.key?(:not_ins)
1411
+ @permissions = args[:permissions] if args.key?(:permissions)
1412
+ end
1413
+ end
1414
+
1080
1415
  #
1081
1416
  class TargetConfiguration
1082
1417
  include Google::Apis::Core::Hashable
@@ -1104,6 +1439,45 @@ module Google
1104
1439
  end
1105
1440
  end
1106
1441
 
1442
+ #
1443
+ class TestPermissionsRequest
1444
+ include Google::Apis::Core::Hashable
1445
+
1446
+ # The set of permissions to check for the 'resource'. Permissions with wildcards
1447
+ # (such as '*' or 'storage.*') are not allowed.
1448
+ # Corresponds to the JSON property `permissions`
1449
+ # @return [Array<String>]
1450
+ attr_accessor :permissions
1451
+
1452
+ def initialize(**args)
1453
+ update!(**args)
1454
+ end
1455
+
1456
+ # Update properties of this object
1457
+ def update!(**args)
1458
+ @permissions = args[:permissions] if args.key?(:permissions)
1459
+ end
1460
+ end
1461
+
1462
+ #
1463
+ class TestPermissionsResponse
1464
+ include Google::Apis::Core::Hashable
1465
+
1466
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
1467
+ # Corresponds to the JSON property `permissions`
1468
+ # @return [Array<String>]
1469
+ attr_accessor :permissions
1470
+
1471
+ def initialize(**args)
1472
+ update!(**args)
1473
+ end
1474
+
1475
+ # Update properties of this object
1476
+ def update!(**args)
1477
+ @permissions = args[:permissions] if args.key?(:permissions)
1478
+ end
1479
+ end
1480
+
1107
1481
  # A resource type supported by Deployment Manager.
1108
1482
  class Type
1109
1483
  include Google::Apis::Core::Hashable