google-apis-cloudasset_v1p7beta1 0.1.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9137af7237d6ebd7efa85dc88754c0a458df63cfa6e2c20615f448fd0f7a742
4
- data.tar.gz: 34cffd3dd83bff6741cbc856cf9c6855fd3c4050e4247ba3c03c4171e6772b23
3
+ metadata.gz: 9739921956adc8753a85d605b3d0efd3851ce017ab994cd0fe5d4d4363a9ece4
4
+ data.tar.gz: 108da848f2489c3aec7404748724085a196debc27c55890cf7a6d1a19d23559f
5
5
  SHA512:
6
- metadata.gz: 542d47275687f8ed7910b3530686cb579cbd4cf545e9c85c7c3fe5208dbf133572644ae4a638b7f1ed2030adc994c0866bc08f6734923998d39b17ae2ae38b5d
7
- data.tar.gz: 2b024dcd41417c33a8b21b6affeececea4d7e85092cecacd2b10e0e00ae26cd647f7a2f670286195b3b2f5a0f8ebdb453234852c8338dd3740ed7eaab699778d
6
+ metadata.gz: c8851d9b3255980c0ffbd1a2572b373d155f6fd67b861fbde3e1a442c20c6d49833cf5924ef1d76e07406cfdab3e52abf390e3109c32b19883e22ad2b71ae64f
7
+ data.tar.gz: 18004ef80e9780413ca02e5fa7045c94f41cae9e788845fb3435cc4499bc1544434d37aab5c619839fe9f5520f735ece6dcf67f5862a8485b80fb379c0b5ba0f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-cloudasset_v1p7beta1
2
2
 
3
+ ### v0.6.0 (2021-04-22)
4
+
5
+ * Regenerated from discovery document revision 20210416
6
+
7
+ ### v0.5.0 (2021-03-31)
8
+
9
+ * Regenerated from discovery document revision 20210326
10
+
11
+ ### v0.4.0 (2021-03-09)
12
+
13
+ * Regenerated from discovery document revision 20210305
14
+ * Regenerated using generator version 0.2.0
15
+
16
+ ### v0.3.0 (2021-03-04)
17
+
18
+ * Regenerated from discovery document revision 20210226
19
+
20
+ ### v0.2.0 (2021-02-11)
21
+
22
+ * Regenerated from discovery document revision 20210209
23
+
3
24
  ### v0.1.0 (2021-02-03)
4
25
 
5
26
  * Regenerated from discovery document revision 20210129
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'V1p7beta1'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
  end
35
35
  end
@@ -22,142 +22,16 @@ module Google
22
22
  module Apis
23
23
  module CloudassetV1p7beta1
24
24
 
25
- # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
26
- # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
27
- # platform-resource-hierarchy), a resource outside the Google Cloud resource
28
- # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
29
- # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
30
- # asset-inventory/docs/supported-asset-types) for more information.
31
- class Asset
25
+ # A response message for AssetService.AnalyzeIamPolicyLongrunning.
26
+ class AnalyzeIamPolicyLongrunningResponse
32
27
  include Google::Apis::Core::Hashable
33
28
 
34
- # An `AccessLevel` is a label that can be applied to requests to Google Cloud
35
- # services, along with a list of requirements necessary for the label to be
36
- # applied.
37
- # Corresponds to the JSON property `accessLevel`
38
- # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1AccessLevel]
39
- attr_accessor :access_level
40
-
41
- # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
42
- # attributes to use Google Cloud services) and `ServicePerimeters` (which define
43
- # regions of services able to freely pass data within a perimeter). An access
44
- # policy is globally visible within an organization, and the restrictions it
45
- # specifies apply to all projects within an organization.
46
- # Corresponds to the JSON property `accessPolicy`
47
- # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1AccessPolicy]
48
- attr_accessor :access_policy
49
-
50
- # The ancestry path of an asset in Google Cloud [resource hierarchy](https://
51
- # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
52
- # represented as a list of relative resource names. An ancestry path starts with
53
- # the closest ancestor in the hierarchy and ends at root. If the asset is a
54
- # project, folder, or organization, the ancestry path starts from the asset
55
- # itself. Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
56
- # Corresponds to the JSON property `ancestors`
57
- # @return [Array<String>]
58
- attr_accessor :ancestors
59
-
60
- # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported
61
- # asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-
62
- # types) for more information.
63
- # Corresponds to the JSON property `assetType`
64
- # @return [String]
65
- attr_accessor :asset_type
66
-
67
- # Whether the asset has been deleted or not.
68
- # Corresponds to the JSON property `deleted`
69
- # @return [Boolean]
70
- attr_accessor :deleted
71
- alias_method :deleted?, :deleted
72
-
73
- # An Identity and Access Management (IAM) policy, which specifies access
74
- # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
75
- # A `binding` binds one or more `members` to a single `role`. Members can be
76
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
77
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
78
- # role or a user-created custom role. For some types of Google Cloud resources,
79
- # a `binding` can also specify a `condition`, which is a logical expression that
80
- # allows access to a resource only if the expression evaluates to `true`. A
81
- # condition can add constraints based on attributes of the request, the resource,
82
- # or both. To learn which resources support conditions in their IAM policies,
83
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
84
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
85
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
86
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
87
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
88
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
89
- # title": "expirable access", "description": "Does not grant access after Sep
90
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
91
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
92
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
93
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
94
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
95
- # roles/resourcemanager.organizationViewer condition: title: expirable access
96
- # description: Does not grant access after Sep 2020 expression: request.time <
97
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
98
- # description of IAM and its features, see the [IAM documentation](https://cloud.
99
- # google.com/iam/docs/).
100
- # Corresponds to the JSON property `iamPolicy`
101
- # @return [Google::Apis::CloudassetV1p7beta1::Policy]
102
- attr_accessor :iam_policy
103
-
104
- # The full name of the asset. Example: `//compute.googleapis.com/projects/
105
- # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
106
- # cloud.google.com/apis/design/resource_names#full_resource_name) for more
107
- # information.
108
- # Corresponds to the JSON property `name`
109
- # @return [String]
110
- attr_accessor :name
111
-
112
- # A representation of an [organization policy](https://cloud.google.com/resource-
113
- # manager/docs/organization-policy/overview#organization_policy). There can be
114
- # more than one organization policy with different constraints set on a given
115
- # resource.
116
- # Corresponds to the JSON property `orgPolicy`
117
- # @return [Array<Google::Apis::CloudassetV1p7beta1::GoogleCloudOrgpolicyV1Policy>]
118
- attr_accessor :org_policy
119
-
120
- # A representation of a Google Cloud resource.
121
- # Corresponds to the JSON property `resource`
122
- # @return [Google::Apis::CloudassetV1p7beta1::Resource]
123
- attr_accessor :resource
124
-
125
- # `ServicePerimeter` describes a set of Google Cloud resources which can freely
126
- # import and export data amongst themselves, but not export outside of the `
127
- # ServicePerimeter`. If a request with a source within this `ServicePerimeter`
128
- # has a target outside of the `ServicePerimeter`, the request will be blocked.
129
- # Otherwise the request is allowed. There are two types of Service Perimeter -
130
- # Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google
131
- # Cloud project can only belong to a single regular Service Perimeter. Service
132
- # Perimeter Bridges can contain only Google Cloud projects as members, a single
133
- # Google Cloud project may belong to multiple Service Perimeter Bridges.
134
- # Corresponds to the JSON property `servicePerimeter`
135
- # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
136
- attr_accessor :service_perimeter
137
-
138
- # The last update timestamp of an asset. update_time is updated when create/
139
- # update/delete operation is performed.
140
- # Corresponds to the JSON property `updateTime`
141
- # @return [String]
142
- attr_accessor :update_time
143
-
144
29
  def initialize(**args)
145
30
  update!(**args)
146
31
  end
147
32
 
148
33
  # Update properties of this object
149
34
  def update!(**args)
150
- @access_level = args[:access_level] if args.key?(:access_level)
151
- @access_policy = args[:access_policy] if args.key?(:access_policy)
152
- @ancestors = args[:ancestors] if args.key?(:ancestors)
153
- @asset_type = args[:asset_type] if args.key?(:asset_type)
154
- @deleted = args[:deleted] if args.key?(:deleted)
155
- @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
156
- @name = args[:name] if args.key?(:name)
157
- @org_policy = args[:org_policy] if args.key?(:org_policy)
158
- @resource = args[:resource] if args.key?(:resource)
159
- @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
160
- @update_time = args[:update_time] if args.key?(:update_time)
161
35
  end
162
36
  end
163
37
 
@@ -232,110 +106,6 @@ module Google
232
106
  end
233
107
  end
234
108
 
235
- # A BigQuery destination for exporting assets to.
236
- class BigQueryDestination
237
- include Google::Apis::Core::Hashable
238
-
239
- # Required. The BigQuery dataset in format "projects/projectId/datasets/
240
- # datasetId", to which the snapshot result should be exported. If this dataset
241
- # does not exist, the export call returns an INVALID_ARGUMENT error.
242
- # Corresponds to the JSON property `dataset`
243
- # @return [String]
244
- attr_accessor :dataset
245
-
246
- # If the destination table already exists and this flag is `TRUE`, the table
247
- # will be overwritten by the contents of assets snapshot. If the flag is `FALSE`
248
- # or unset and the destination table already exists, the export call returns an
249
- # INVALID_ARGUMEMT error.
250
- # Corresponds to the JSON property `force`
251
- # @return [Boolean]
252
- attr_accessor :force
253
- alias_method :force?, :force
254
-
255
- # Specifications of BigQuery partitioned table as export destination.
256
- # Corresponds to the JSON property `partitionSpec`
257
- # @return [Google::Apis::CloudassetV1p7beta1::PartitionSpec]
258
- attr_accessor :partition_spec
259
-
260
- # If this flag is `TRUE`, the snapshot results will be written to one or
261
- # multiple tables, each of which contains results of one asset type. The [force]
262
- # and [partition_spec] fields will apply to each of them. Field [table] will be
263
- # concatenated with "_" and the asset type names (see https://cloud.google.com/
264
- # asset-inventory/docs/supported-asset-types for supported asset types) to
265
- # construct per-asset-type table names, in which all non-alphanumeric characters
266
- # like "." and "/" will be substituted by "_". Example: if field [table] is "
267
- # mytable" and snapshot results contain "storage.googleapis.com/Bucket" assets,
268
- # the corresponding table name will be "mytable_storage_googleapis_com_Bucket".
269
- # If any of these tables does not exist, a new table with the concatenated name
270
- # will be created. When [content_type] in the ExportAssetsRequest is `RESOURCE`,
271
- # the schema of each table will include RECORD-type columns mapped to the nested
272
- # fields in the Asset.resource.data field of that asset type (up to the 15
273
- # nested level BigQuery supports (https://cloud.google.com/bigquery/docs/nested-
274
- # repeated#limitations)). The fields in >15 nested levels will be stored in JSON
275
- # format string as a child column of its parent RECORD column. If error occurs
276
- # when exporting to any table, the whole export call will return an error but
277
- # the export results that already succeed will persist. Example: if exporting to
278
- # table_type_A succeeds when exporting to table_type_B fails during one export
279
- # call, the results in table_type_A will persist and there will not be partial
280
- # results persisting in a table.
281
- # Corresponds to the JSON property `separateTablesPerAssetType`
282
- # @return [Boolean]
283
- attr_accessor :separate_tables_per_asset_type
284
- alias_method :separate_tables_per_asset_type?, :separate_tables_per_asset_type
285
-
286
- # Required. The BigQuery table to which the snapshot result should be written.
287
- # If this table does not exist, a new table with the given name will be created.
288
- # In the case of scheduled export, the real destination is [table] appended with
289
- # a suffix indicating the point-in-time of the snapshot. For example, suppose
290
- # field [table] is "mytable". When [separate_tables_per_asset_type] and is `
291
- # FALSE`, the destination will be "mytable_snapshot_20201122060000", and when [
292
- # separate_tables_per_asset_type] and is `TRUE` and the [asset_types] contains "
293
- # storage.googleapis.com/Bucket", the destination will be "
294
- # mytable_snapshot_20201122060000_storage_googleapis_com_Bucket"
295
- # Corresponds to the JSON property `table`
296
- # @return [String]
297
- attr_accessor :table
298
-
299
- def initialize(**args)
300
- update!(**args)
301
- end
302
-
303
- # Update properties of this object
304
- def update!(**args)
305
- @dataset = args[:dataset] if args.key?(:dataset)
306
- @force = args[:force] if args.key?(:force)
307
- @partition_spec = args[:partition_spec] if args.key?(:partition_spec)
308
- @separate_tables_per_asset_type = args[:separate_tables_per_asset_type] if args.key?(:separate_tables_per_asset_type)
309
- @table = args[:table] if args.key?(:table)
310
- end
311
- end
312
-
313
- # Setting for scheduled export to BigQuery.
314
- class BigQuerySetting
315
- include Google::Apis::Core::Hashable
316
-
317
- # A BigQuery destination for exporting assets to.
318
- # Corresponds to the JSON property `destination`
319
- # @return [Google::Apis::CloudassetV1p7beta1::BigQueryDestination]
320
- attr_accessor :destination
321
-
322
- # Schedule for scheduled export. This is used to configure scheduled export for
323
- # both GCS and BigQuery.
324
- # Corresponds to the JSON property `snapshotSchedule`
325
- # @return [Google::Apis::CloudassetV1p7beta1::ScheduleConfig]
326
- attr_accessor :snapshot_schedule
327
-
328
- def initialize(**args)
329
- update!(**args)
330
- end
331
-
332
- # Update properties of this object
333
- def update!(**args)
334
- @destination = args[:destination] if args.key?(:destination)
335
- @snapshot_schedule = args[:snapshot_schedule] if args.key?(:snapshot_schedule)
336
- end
337
- end
338
-
339
109
  # Associates `members` with a `role`.
340
110
  class Binding
341
111
  include Google::Apis::Core::Hashable
@@ -407,41 +177,46 @@ module Google
407
177
  end
408
178
  end
409
179
 
410
- #
411
- class CreateExportSettingRequest
180
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
181
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
182
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
183
+ # "Summary size limit" description: "Determines if a summary is less than 100
184
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
185
+ # Requestor is owner" description: "Determines if requestor is the document
186
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
187
+ # Logic): title: "Public documents" description: "Determine whether the document
188
+ # should be publicly visible" expression: "document.type != 'private' &&
189
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
190
+ # string" description: "Create a notification string with a timestamp."
191
+ # expression: "'New message received at ' + string(document.create_time)" The
192
+ # exact variables and functions that may be referenced within an expression are
193
+ # determined by the service that evaluates it. See the service documentation for
194
+ # additional information.
195
+ class Expr
412
196
  include Google::Apis::Core::Hashable
413
197
 
414
- # Settings that configure CAI to export assets on given schedules. An [
415
- # InventorySettings] might have multiple [ExportSetting], each with a unique
416
- # identifier.
417
- # Corresponds to the JSON property `exportSetting`
418
- # @return [Google::Apis::CloudassetV1p7beta1::ExportSetting]
419
- attr_accessor :export_setting
420
-
421
- # Required. This is the client-assigned export setting identifier encoded in UTF-
422
- # 8 and it needs to be unique under a specific [InventorySettings].
423
- # Corresponds to the JSON property `exportSettingId`
198
+ # Optional. Description of the expression. This is a longer text which describes
199
+ # the expression, e.g. when hovered over it in a UI.
200
+ # Corresponds to the JSON property `description`
424
201
  # @return [String]
425
- attr_accessor :export_setting_id
202
+ attr_accessor :description
426
203
 
427
- def initialize(**args)
428
- update!(**args)
429
- end
204
+ # Textual representation of an expression in Common Expression Language syntax.
205
+ # Corresponds to the JSON property `expression`
206
+ # @return [String]
207
+ attr_accessor :expression
430
208
 
431
- # Update properties of this object
432
- def update!(**args)
433
- @export_setting = args[:export_setting] if args.key?(:export_setting)
434
- @export_setting_id = args[:export_setting_id] if args.key?(:export_setting_id)
435
- end
436
- end
209
+ # Optional. String indicating the location of the expression for error reporting,
210
+ # e.g. a file name and a position in the file.
211
+ # Corresponds to the JSON property `location`
212
+ # @return [String]
213
+ attr_accessor :location
437
214
 
438
- # A generic empty message that you can re-use to avoid defining duplicated empty
439
- # messages in your APIs. A typical example is to use it as the request or the
440
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
441
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
442
- # `Empty` is empty JSON object ````.
443
- class Empty
444
- include Google::Apis::Core::Hashable
215
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
216
+ # This can be used e.g. in UIs which allow to enter the expression.
217
+ # Corresponds to the JSON property `title`
218
+ # @return [String]
219
+ attr_accessor :title
445
220
 
446
221
  def initialize(**args)
447
222
  update!(**args)
@@ -449,55 +224,130 @@ module Google
449
224
 
450
225
  # Update properties of this object
451
226
  def update!(**args)
227
+ @description = args[:description] if args.key?(:description)
228
+ @expression = args[:expression] if args.key?(:expression)
229
+ @location = args[:location] if args.key?(:location)
230
+ @title = args[:title] if args.key?(:title)
452
231
  end
453
232
  end
454
233
 
455
- # Export asset updates request.
456
- class ExportAssetUpdatesRequest
457
- include Google::Apis::Core::Hashable
458
-
459
- # A list of the full names of the assets to export the updates for. See: https://
460
- # cloud.google.com/asset-inventory/docs/resource-name-format Example: `//compute.
461
- # googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. If
462
- # specified, only assets in the list will be returned. At most one of
463
- # asset_types and asset_names should be specified. If neither is specified, all
464
- # assets under the parent will be returned.
465
- # Corresponds to the JSON property `assetNames`
466
- # @return [Array<String>]
467
- attr_accessor :asset_names
468
-
469
- # A list of asset types to export the updates for. For example: "compute.
470
- # googleapis.com/Disk". Regular expressions are also supported. For example: * "
471
- # compute.googleapis.com.*" snapshots resources whose asset type starts with "
472
- # compute.googleapis.com". * ".*Instance" snapshots resources whose asset type
473
- # ends with "Instance". * ".*Instance.*" snapshots resources whose asset type
474
- # contains "Instance". See [RE2](https://github.com/google/re2/wiki/Syntax) for
475
- # all supported regular expression syntax. If the regular expression does not
476
- # match any supported asset type, an INVALID_ARGUMENT error will be returned. If
477
- # specified, only matching assets will be returned. See [Introduction to Cloud
478
- # Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for
479
- # all supported asset types. At most one of asset_types and asset_names should
480
- # be specified. If neither is specified, all assets under the parent will be
481
- # returned.
482
- # Corresponds to the JSON property `assetTypes`
234
+ # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
235
+ # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
236
+ # platform-resource-hierarchy), a resource outside the Google Cloud resource
237
+ # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
238
+ # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
239
+ # asset-inventory/docs/supported-asset-types) for more information.
240
+ class GoogleCloudAssetV1p7beta1Asset
241
+ include Google::Apis::Core::Hashable
242
+
243
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
244
+ # services, along with a list of requirements necessary for the label to be
245
+ # applied.
246
+ # Corresponds to the JSON property `accessLevel`
247
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1AccessLevel]
248
+ attr_accessor :access_level
249
+
250
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
251
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which define
252
+ # regions of services able to freely pass data within a perimeter). An access
253
+ # policy is globally visible within an organization, and the restrictions it
254
+ # specifies apply to all projects within an organization.
255
+ # Corresponds to the JSON property `accessPolicy`
256
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1AccessPolicy]
257
+ attr_accessor :access_policy
258
+
259
+ # The ancestry path of an asset in Google Cloud [resource hierarchy](https://
260
+ # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
261
+ # represented as a list of relative resource names. An ancestry path starts with
262
+ # the closest ancestor in the hierarchy and ends at root. If the asset is a
263
+ # project, folder, or organization, the ancestry path starts from the asset
264
+ # itself. Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
265
+ # Corresponds to the JSON property `ancestors`
483
266
  # @return [Array<String>]
484
- attr_accessor :asset_types
267
+ attr_accessor :ancestors
485
268
 
486
- # Asset content type. If not specified, no content but the asset name will be
487
- # returned.
488
- # Corresponds to the JSON property `contentType`
269
+ # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported
270
+ # asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-
271
+ # types) for more information.
272
+ # Corresponds to the JSON property `assetType`
489
273
  # @return [String]
490
- attr_accessor :content_type
274
+ attr_accessor :asset_type
491
275
 
492
- # Output configuration for export assets destination.
493
- # Corresponds to the JSON property `outputConfig`
494
- # @return [Google::Apis::CloudassetV1p7beta1::OutputConfig]
495
- attr_accessor :output_config
276
+ # An Identity and Access Management (IAM) policy, which specifies access
277
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
278
+ # A `binding` binds one or more `members` to a single `role`. Members can be
279
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
280
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
281
+ # role or a user-created custom role. For some types of Google Cloud resources,
282
+ # a `binding` can also specify a `condition`, which is a logical expression that
283
+ # allows access to a resource only if the expression evaluates to `true`. A
284
+ # condition can add constraints based on attributes of the request, the resource,
285
+ # or both. To learn which resources support conditions in their IAM policies,
286
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
287
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
288
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
289
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
290
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
291
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
292
+ # title": "expirable access", "description": "Does not grant access after Sep
293
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
294
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
295
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
296
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
297
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
298
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
299
+ # description: Does not grant access after Sep 2020 expression: request.time <
300
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
301
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
302
+ # google.com/iam/docs/).
303
+ # Corresponds to the JSON property `iamPolicy`
304
+ # @return [Google::Apis::CloudassetV1p7beta1::Policy]
305
+ attr_accessor :iam_policy
496
306
 
497
- # Time window configuration for asset updates requests.
498
- # Corresponds to the JSON property `updateTimeWindow`
499
- # @return [Google::Apis::CloudassetV1p7beta1::UpdateTimeWindow]
500
- attr_accessor :update_time_window
307
+ # The full name of the asset. Example: `//compute.googleapis.com/projects/
308
+ # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
309
+ # cloud.google.com/apis/design/resource_names#full_resource_name) for more
310
+ # information.
311
+ # Corresponds to the JSON property `name`
312
+ # @return [String]
313
+ attr_accessor :name
314
+
315
+ # A representation of an [organization policy](https://cloud.google.com/resource-
316
+ # manager/docs/organization-policy/overview#organization_policy). There can be
317
+ # more than one organization policy with different constraints set on a given
318
+ # resource.
319
+ # Corresponds to the JSON property `orgPolicy`
320
+ # @return [Array<Google::Apis::CloudassetV1p7beta1::GoogleCloudOrgpolicyV1Policy>]
321
+ attr_accessor :org_policy
322
+
323
+ # The detailed related assets with the `relationship_type`.
324
+ # Corresponds to the JSON property `relatedAssets`
325
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1RelatedAssets]
326
+ attr_accessor :related_assets
327
+
328
+ # A representation of a Google Cloud resource.
329
+ # Corresponds to the JSON property `resource`
330
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1Resource]
331
+ attr_accessor :resource
332
+
333
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
334
+ # import and export data amongst themselves, but not export outside of the `
335
+ # ServicePerimeter`. If a request with a source within this `ServicePerimeter`
336
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
337
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
338
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google
339
+ # Cloud project can only belong to a single regular Service Perimeter. Service
340
+ # Perimeter Bridges can contain only Google Cloud projects as members, a single
341
+ # Google Cloud project may belong to multiple Service Perimeter Bridges.
342
+ # Corresponds to the JSON property `servicePerimeter`
343
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
344
+ attr_accessor :service_perimeter
345
+
346
+ # The last update timestamp of an asset. update_time is updated when create/
347
+ # update/delete operation is performed.
348
+ # Corresponds to the JSON property `updateTime`
349
+ # @return [String]
350
+ attr_accessor :update_time
501
351
 
502
352
  def initialize(**args)
503
353
  update!(**args)
@@ -505,16 +355,93 @@ module Google
505
355
 
506
356
  # Update properties of this object
507
357
  def update!(**args)
508
- @asset_names = args[:asset_names] if args.key?(:asset_names)
509
- @asset_types = args[:asset_types] if args.key?(:asset_types)
510
- @content_type = args[:content_type] if args.key?(:content_type)
511
- @output_config = args[:output_config] if args.key?(:output_config)
512
- @update_time_window = args[:update_time_window] if args.key?(:update_time_window)
358
+ @access_level = args[:access_level] if args.key?(:access_level)
359
+ @access_policy = args[:access_policy] if args.key?(:access_policy)
360
+ @ancestors = args[:ancestors] if args.key?(:ancestors)
361
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
362
+ @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
363
+ @name = args[:name] if args.key?(:name)
364
+ @org_policy = args[:org_policy] if args.key?(:org_policy)
365
+ @related_assets = args[:related_assets] if args.key?(:related_assets)
366
+ @resource = args[:resource] if args.key?(:resource)
367
+ @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
368
+ @update_time = args[:update_time] if args.key?(:update_time)
369
+ end
370
+ end
371
+
372
+ # A BigQuery destination for exporting assets to.
373
+ class GoogleCloudAssetV1p7beta1BigQueryDestination
374
+ include Google::Apis::Core::Hashable
375
+
376
+ # Required. The BigQuery dataset in format "projects/projectId/datasets/
377
+ # datasetId", to which the snapshot result should be exported. If this dataset
378
+ # does not exist, the export call returns an INVALID_ARGUMENT error.
379
+ # Corresponds to the JSON property `dataset`
380
+ # @return [String]
381
+ attr_accessor :dataset
382
+
383
+ # If the destination table already exists and this flag is `TRUE`, the table
384
+ # will be overwritten by the contents of assets snapshot. If the flag is `FALSE`
385
+ # or unset and the destination table already exists, the export call returns an
386
+ # INVALID_ARGUMEMT error.
387
+ # Corresponds to the JSON property `force`
388
+ # @return [Boolean]
389
+ attr_accessor :force
390
+ alias_method :force?, :force
391
+
392
+ # Specifications of BigQuery partitioned table as export destination.
393
+ # Corresponds to the JSON property `partitionSpec`
394
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1PartitionSpec]
395
+ attr_accessor :partition_spec
396
+
397
+ # If this flag is `TRUE`, the snapshot results will be written to one or
398
+ # multiple tables, each of which contains results of one asset type. The [force]
399
+ # and [partition_spec] fields will apply to each of them. Field [table] will be
400
+ # concatenated with "_" and the asset type names (see https://cloud.google.com/
401
+ # asset-inventory/docs/supported-asset-types for supported asset types) to
402
+ # construct per-asset-type table names, in which all non-alphanumeric characters
403
+ # like "." and "/" will be substituted by "_". Example: if field [table] is "
404
+ # mytable" and snapshot results contain "storage.googleapis.com/Bucket" assets,
405
+ # the corresponding table name will be "mytable_storage_googleapis_com_Bucket".
406
+ # If any of these tables does not exist, a new table with the concatenated name
407
+ # will be created. When [content_type] in the ExportAssetsRequest is `RESOURCE`,
408
+ # the schema of each table will include RECORD-type columns mapped to the nested
409
+ # fields in the Asset.resource.data field of that asset type (up to the 15
410
+ # nested level BigQuery supports (https://cloud.google.com/bigquery/docs/nested-
411
+ # repeated#limitations)). The fields in >15 nested levels will be stored in JSON
412
+ # format string as a child column of its parent RECORD column. If error occurs
413
+ # when exporting to any table, the whole export call will return an error but
414
+ # the export results that already succeed will persist. Example: if exporting to
415
+ # table_type_A succeeds when exporting to table_type_B fails during one export
416
+ # call, the results in table_type_A will persist and there will not be partial
417
+ # results persisting in a table.
418
+ # Corresponds to the JSON property `separateTablesPerAssetType`
419
+ # @return [Boolean]
420
+ attr_accessor :separate_tables_per_asset_type
421
+ alias_method :separate_tables_per_asset_type?, :separate_tables_per_asset_type
422
+
423
+ # Required. The BigQuery table to which the snapshot result should be written.
424
+ # If this table does not exist, a new table with the given name will be created.
425
+ # Corresponds to the JSON property `table`
426
+ # @return [String]
427
+ attr_accessor :table
428
+
429
+ def initialize(**args)
430
+ update!(**args)
431
+ end
432
+
433
+ # Update properties of this object
434
+ def update!(**args)
435
+ @dataset = args[:dataset] if args.key?(:dataset)
436
+ @force = args[:force] if args.key?(:force)
437
+ @partition_spec = args[:partition_spec] if args.key?(:partition_spec)
438
+ @separate_tables_per_asset_type = args[:separate_tables_per_asset_type] if args.key?(:separate_tables_per_asset_type)
439
+ @table = args[:table] if args.key?(:table)
513
440
  end
514
441
  end
515
442
 
516
443
  # Export asset request.
517
- class ExportAssetsRequest
444
+ class GoogleCloudAssetV1p7beta1ExportAssetsRequest
518
445
  include Google::Apis::Core::Hashable
519
446
 
520
447
  # A list of asset types to take a snapshot for. For example: "compute.googleapis.
@@ -540,7 +467,7 @@ module Google
540
467
 
541
468
  # Output configuration for export assets destination.
542
469
  # Corresponds to the JSON property `outputConfig`
543
- # @return [Google::Apis::CloudassetV1p7beta1::OutputConfig]
470
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1OutputConfig]
544
471
  attr_accessor :output_config
545
472
 
546
473
  # Timestamp to take an asset snapshot. This can only be set to a timestamp
@@ -552,6 +479,19 @@ module Google
552
479
  # @return [String]
553
480
  attr_accessor :read_time
554
481
 
482
+ # A list of relationship types to export, for example: `
483
+ # INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
484
+ # content_type=RELATIONSHIP. If specified, it will snapshot [asset_types]'
485
+ # specified relationships, or give errors if any relationship_types' supported
486
+ # types are not in [asset_types]. If not specified, it will snapshot all [
487
+ # asset_types]' supported relationships. An unspecified [asset_types] field
488
+ # means all supported asset_types. See [Introduction to Cloud Asset Inventory](
489
+ # https://cloud.google.com/asset-inventory/docs/overview) for all supported
490
+ # asset types and relationship types.
491
+ # Corresponds to the JSON property `relationshipTypes`
492
+ # @return [Array<String>]
493
+ attr_accessor :relationship_types
494
+
555
495
  def initialize(**args)
556
496
  update!(**args)
557
497
  end
@@ -562,53 +502,122 @@ module Google
562
502
  @content_type = args[:content_type] if args.key?(:content_type)
563
503
  @output_config = args[:output_config] if args.key?(:output_config)
564
504
  @read_time = args[:read_time] if args.key?(:read_time)
505
+ @relationship_types = args[:relationship_types] if args.key?(:relationship_types)
565
506
  end
566
507
  end
567
508
 
568
- # Settings that configure CAI to export assets on given schedules. An [
569
- # InventorySettings] might have multiple [ExportSetting], each with a unique
570
- # identifier.
571
- class ExportSetting
509
+ # A Cloud Storage location.
510
+ class GoogleCloudAssetV1p7beta1GcsDestination
572
511
  include Google::Apis::Core::Hashable
573
512
 
574
- # Asset types of resources that will be exported on schedule. For example: "
575
- # compute.googleapis.com/Disk". Regular expressions are also supported. For
576
- # example: * "compute.googleapis.com.*" snapshots resources whose asset type
577
- # starts with "compute.googleapis.com". * ".*Instance" snapshots resources whose
578
- # asset type ends with "Instance". * ".*Instance.*" snapshots resources whose
579
- # asset type contains "Instance". See [RE2](https://github.com/google/re2/wiki/
580
- # Syntax) for all supported regular expression syntax. If the regular expression
581
- # does not match any supported asset type, an INVALID_ARGUMENT error will be
582
- # returned. If specified, only matching assets will be returned. See [
583
- # Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-
584
- # inventory/docs/overview) for all supported asset types.
585
- # Corresponds to the JSON property `assetTypes`
586
- # @return [Array<String>]
587
- attr_accessor :asset_types
513
+ # The uri of the Cloud Storage object. It's the same uri that is used by gsutil.
514
+ # Example: "gs://bucket_name/object_name". See [Viewing and Editing Object
515
+ # Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for
516
+ # more information.
517
+ # Corresponds to the JSON property `uri`
518
+ # @return [String]
519
+ attr_accessor :uri
588
520
 
589
- # Setting for scheduled export to BigQuery.
590
- # Corresponds to the JSON property `bigquerySetting`
591
- # @return [Google::Apis::CloudassetV1p7beta1::BigQuerySetting]
592
- attr_accessor :bigquery_setting
521
+ # The uri prefix of all generated Cloud Storage objects. Example: "gs://
522
+ # bucket_name/object_name_prefix". Each object uri is in format: "gs://
523
+ # bucket_name/object_name_prefix/`ASSET_TYPE`/`SHARD_NUMBER` and only contains
524
+ # assets for that type. starts from 0. Example: "gs://bucket_name/
525
+ # object_name_prefix/compute.googleapis.com/Disk/0" is the first shard of output
526
+ # objects containing all compute.googleapis.com/Disk assets. An INVALID_ARGUMENT
527
+ # error will be returned if file with the same name "gs://bucket_name/
528
+ # object_name_prefix" already exists.
529
+ # Corresponds to the JSON property `uriPrefix`
530
+ # @return [String]
531
+ attr_accessor :uri_prefix
593
532
 
594
- # Required. Asset content type. Currently only `RESOURCE`, `IAM_POLICY`, `
595
- # ORG_POLICY`, `ACCESS_POLICY` are supported.
596
- # Corresponds to the JSON property `contentType`
533
+ def initialize(**args)
534
+ update!(**args)
535
+ end
536
+
537
+ # Update properties of this object
538
+ def update!(**args)
539
+ @uri = args[:uri] if args.key?(:uri)
540
+ @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
541
+ end
542
+ end
543
+
544
+ # Output configuration for export assets destination.
545
+ class GoogleCloudAssetV1p7beta1OutputConfig
546
+ include Google::Apis::Core::Hashable
547
+
548
+ # A BigQuery destination for exporting assets to.
549
+ # Corresponds to the JSON property `bigqueryDestination`
550
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1BigQueryDestination]
551
+ attr_accessor :bigquery_destination
552
+
553
+ # A Cloud Storage location.
554
+ # Corresponds to the JSON property `gcsDestination`
555
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1GcsDestination]
556
+ attr_accessor :gcs_destination
557
+
558
+ def initialize(**args)
559
+ update!(**args)
560
+ end
561
+
562
+ # Update properties of this object
563
+ def update!(**args)
564
+ @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination)
565
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
566
+ end
567
+ end
568
+
569
+ # Specifications of BigQuery partitioned table as export destination.
570
+ class GoogleCloudAssetV1p7beta1PartitionSpec
571
+ include Google::Apis::Core::Hashable
572
+
573
+ # The partition key for BigQuery partitioned table.
574
+ # Corresponds to the JSON property `partitionKey`
597
575
  # @return [String]
598
- attr_accessor :content_type
576
+ attr_accessor :partition_key
599
577
 
600
- # Setting for scheduled export to GCS.
601
- # Corresponds to the JSON property `gcsSetting`
602
- # @return [Google::Apis::CloudassetV1p7beta1::GcsSetting]
603
- attr_accessor :gcs_setting
578
+ def initialize(**args)
579
+ update!(**args)
580
+ end
604
581
 
605
- # The format will be: organizations/`ORGANIZATION_NUMBER`/inventorySettings/
606
- # exportSettings/`exportSetting` or folders/`FOLDER_NUMBER`/inventorySettings/
607
- # exportSettings/`exportSetting` or projects/`PROJECT_NUMBER`/inventorySettings/
608
- # exportSettings/`exportSetting`
609
- # Corresponds to the JSON property `name`
582
+ # Update properties of this object
583
+ def update!(**args)
584
+ @partition_key = args[:partition_key] if args.key?(:partition_key)
585
+ end
586
+ end
587
+
588
+ # An asset identify in Google Cloud which contains its name, type and ancestors.
589
+ # An asset can be any resource in the Google Cloud [resource hierarchy](https://
590
+ # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a
591
+ # resource outside the Google Cloud resource hierarchy (such as Google
592
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
593
+ # See [Supported asset types](https://cloud.google.com/asset-inventory/docs/
594
+ # supported-asset-types) for more information.
595
+ class GoogleCloudAssetV1p7beta1RelatedAsset
596
+ include Google::Apis::Core::Hashable
597
+
598
+ # The ancestors of an asset in Google Cloud [resource hierarchy](https://cloud.
599
+ # google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
600
+ # represented as a list of relative resource names. An ancestry path starts with
601
+ # the closest ancestor in the hierarchy and ends at root. Example: `["projects/
602
+ # 123456789", "folders/5432", "organizations/1234"]`
603
+ # Corresponds to the JSON property `ancestors`
604
+ # @return [Array<String>]
605
+ attr_accessor :ancestors
606
+
607
+ # The full name of the asset. Example: `//compute.googleapis.com/projects/
608
+ # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
609
+ # cloud.google.com/apis/design/resource_names#full_resource_name) for more
610
+ # information.
611
+ # Corresponds to the JSON property `asset`
610
612
  # @return [String]
611
- attr_accessor :name
613
+ attr_accessor :asset
614
+
615
+ # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported
616
+ # asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-
617
+ # types) for more information.
618
+ # Corresponds to the JSON property `assetType`
619
+ # @return [String]
620
+ attr_accessor :asset_type
612
621
 
613
622
  def initialize(**args)
614
623
  update!(**args)
@@ -616,54 +625,63 @@ module Google
616
625
 
617
626
  # Update properties of this object
618
627
  def update!(**args)
619
- @asset_types = args[:asset_types] if args.key?(:asset_types)
620
- @bigquery_setting = args[:bigquery_setting] if args.key?(:bigquery_setting)
621
- @content_type = args[:content_type] if args.key?(:content_type)
622
- @gcs_setting = args[:gcs_setting] if args.key?(:gcs_setting)
623
- @name = args[:name] if args.key?(:name)
628
+ @ancestors = args[:ancestors] if args.key?(:ancestors)
629
+ @asset = args[:asset] if args.key?(:asset)
630
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
624
631
  end
625
632
  end
626
633
 
627
- # Represents a textual expression in the Common Expression Language (CEL) syntax.
628
- # CEL is a C-like expression language. The syntax and semantics of CEL are
629
- # documented at https://github.com/google/cel-spec. Example (Comparison): title:
630
- # "Summary size limit" description: "Determines if a summary is less than 100
631
- # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
632
- # Requestor is owner" description: "Determines if requestor is the document
633
- # owner" expression: "document.owner == request.auth.claims.email" Example (
634
- # Logic): title: "Public documents" description: "Determine whether the document
635
- # should be publicly visible" expression: "document.type != 'private' &&
636
- # document.type != 'internal'" Example (Data Manipulation): title: "Notification
637
- # string" description: "Create a notification string with a timestamp."
638
- # expression: "'New message received at ' + string(document.create_time)" The
639
- # exact variables and functions that may be referenced within an expression are
640
- # determined by the service that evaluates it. See the service documentation for
641
- # additional information.
642
- class Expr
634
+ # The detailed related assets with the `relationship_type`.
635
+ class GoogleCloudAssetV1p7beta1RelatedAssets
643
636
  include Google::Apis::Core::Hashable
644
637
 
645
- # Optional. Description of the expression. This is a longer text which describes
646
- # the expression, e.g. when hovered over it in a UI.
647
- # Corresponds to the JSON property `description`
638
+ # The peer resources of the relationship.
639
+ # Corresponds to the JSON property `assets`
640
+ # @return [Array<Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1RelatedAsset>]
641
+ attr_accessor :assets
642
+
643
+ # The relationship attributes which include `type`, `source_resource_type`, `
644
+ # target_resource_type` and `action`.
645
+ # Corresponds to the JSON property `relationshipAttributes`
646
+ # @return [Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1RelationshipAttributes]
647
+ attr_accessor :relationship_attributes
648
+
649
+ def initialize(**args)
650
+ update!(**args)
651
+ end
652
+
653
+ # Update properties of this object
654
+ def update!(**args)
655
+ @assets = args[:assets] if args.key?(:assets)
656
+ @relationship_attributes = args[:relationship_attributes] if args.key?(:relationship_attributes)
657
+ end
658
+ end
659
+
660
+ # The relationship attributes which include `type`, `source_resource_type`, `
661
+ # target_resource_type` and `action`.
662
+ class GoogleCloudAssetV1p7beta1RelationshipAttributes
663
+ include Google::Apis::Core::Hashable
664
+
665
+ # The detail of the relationship, e.g. `contains`, `attaches`
666
+ # Corresponds to the JSON property `action`
648
667
  # @return [String]
649
- attr_accessor :description
668
+ attr_accessor :action
650
669
 
651
- # Textual representation of an expression in Common Expression Language syntax.
652
- # Corresponds to the JSON property `expression`
670
+ # The source asset type. Example: `compute.googleapis.com/Instance`
671
+ # Corresponds to the JSON property `sourceResourceType`
653
672
  # @return [String]
654
- attr_accessor :expression
673
+ attr_accessor :source_resource_type
655
674
 
656
- # Optional. String indicating the location of the expression for error reporting,
657
- # e.g. a file name and a position in the file.
658
- # Corresponds to the JSON property `location`
675
+ # The target asset type. Example: `compute.googleapis.com/Disk`
676
+ # Corresponds to the JSON property `targetResourceType`
659
677
  # @return [String]
660
- attr_accessor :location
678
+ attr_accessor :target_resource_type
661
679
 
662
- # Optional. Title for the expression, i.e. a short string describing its purpose.
663
- # This can be used e.g. in UIs which allow to enter the expression.
664
- # Corresponds to the JSON property `title`
680
+ # The unique identifier of the relationship type. Example: `
681
+ # INSTANCE_TO_INSTANCEGROUP`
682
+ # Corresponds to the JSON property `type`
665
683
  # @return [String]
666
- attr_accessor :title
684
+ attr_accessor :type
667
685
 
668
686
  def initialize(**args)
669
687
  update!(**args)
@@ -671,68 +689,67 @@ module Google
671
689
 
672
690
  # Update properties of this object
673
691
  def update!(**args)
674
- @description = args[:description] if args.key?(:description)
675
- @expression = args[:expression] if args.key?(:expression)
676
- @location = args[:location] if args.key?(:location)
677
- @title = args[:title] if args.key?(:title)
692
+ @action = args[:action] if args.key?(:action)
693
+ @source_resource_type = args[:source_resource_type] if args.key?(:source_resource_type)
694
+ @target_resource_type = args[:target_resource_type] if args.key?(:target_resource_type)
695
+ @type = args[:type] if args.key?(:type)
678
696
  end
679
697
  end
680
698
 
681
- # A Cloud Storage location.
682
- class GcsDestination
699
+ # A representation of a Google Cloud resource.
700
+ class GoogleCloudAssetV1p7beta1Resource
683
701
  include Google::Apis::Core::Hashable
684
702
 
685
- # The uri of the Cloud Storage object. It's the same uri that is used by gsutil.
686
- # Example: "gs://bucket_name/object_name". See [Viewing and Editing Object
687
- # Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for
688
- # more information. In the case of scheduled export, a path indiciating when the
689
- # export happens will be added in between the bucket_name and object_name. For
690
- # example: the real destination for an scheduled snapshot is: gs://bucket_name/`
691
- # YYYY`/`MM`/`DD`/snapshot/`HHMMSS`/file
692
- # Corresponds to the JSON property `uri`
693
- # @return [String]
694
- attr_accessor :uri
703
+ # The content of the resource, in which some sensitive fields are removed and
704
+ # may not be present.
705
+ # Corresponds to the JSON property `data`
706
+ # @return [Hash<String,Object>]
707
+ attr_accessor :data
695
708
 
696
- # The uri prefix of all generated Cloud Storage objects. Example: "gs://
697
- # bucket_name/object_name_prefix". Each object uri is in format: "gs://
698
- # bucket_name/object_name_prefix/`ASSET_TYPE`/`SHARD_NUMBER` and only contains
699
- # assets for that type. starts from 0. Example: "gs://bucket_name/
700
- # object_name_prefix/compute.googleapis.com/Disk/0" is the first shard of output
701
- # objects containing all compute.googleapis.com/Disk assets. An INVALID_ARGUMENT
702
- # error will be returned if file with the same name "gs://bucket_name/
703
- # object_name_prefix" already exists. In the case of scheduled export, a path
704
- # indiciating when the export happens will be appended. For example: the real
705
- # destination for an scheduled snapshot is: gs://bucket_name/object_name_prefix/`
706
- # YYYY`/`MM`/`DD`/snapshot/`HHMMSS`/`ASSET_TYPE`/`SHARD_NUMBER`
707
- # Corresponds to the JSON property `uriPrefix`
709
+ # The URL of the discovery document containing the resource's JSON schema.
710
+ # Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This
711
+ # value is unspecified for resources that do not have an API based on a
712
+ # discovery document, such as Cloud Bigtable.
713
+ # Corresponds to the JSON property `discoveryDocumentUri`
708
714
  # @return [String]
709
- attr_accessor :uri_prefix
715
+ attr_accessor :discovery_document_uri
710
716
 
711
- def initialize(**args)
712
- update!(**args)
713
- end
717
+ # The JSON schema name listed in the discovery document. Example: `Project` This
718
+ # value is unspecified for resources that do not have an API based on a
719
+ # discovery document, such as Cloud Bigtable.
720
+ # Corresponds to the JSON property `discoveryName`
721
+ # @return [String]
722
+ attr_accessor :discovery_name
714
723
 
715
- # Update properties of this object
716
- def update!(**args)
717
- @uri = args[:uri] if args.key?(:uri)
718
- @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
719
- end
720
- end
724
+ # The location of the resource in Google Cloud, such as its zone and region. For
725
+ # more information, see https://cloud.google.com/about/locations/.
726
+ # Corresponds to the JSON property `location`
727
+ # @return [String]
728
+ attr_accessor :location
721
729
 
722
- # Setting for scheduled export to GCS.
723
- class GcsSetting
724
- include Google::Apis::Core::Hashable
730
+ # The full name of the immediate parent of this resource. See [Resource Names](
731
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name) for
732
+ # more information. For Google Cloud assets, this value is the parent resource
733
+ # defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/
734
+ # overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/
735
+ # projects/my_project_123` For third-party assets, this field may be set
736
+ # differently.
737
+ # Corresponds to the JSON property `parent`
738
+ # @return [String]
739
+ attr_accessor :parent
725
740
 
726
- # A Cloud Storage location.
727
- # Corresponds to the JSON property `destination`
728
- # @return [Google::Apis::CloudassetV1p7beta1::GcsDestination]
729
- attr_accessor :destination
741
+ # The REST URL for accessing the resource. An HTTP `GET` request using this URL
742
+ # returns the resource itself. Example: `https://cloudresourcemanager.googleapis.
743
+ # com/v1/projects/my-project-123` This value is unspecified for resources
744
+ # without a REST API.
745
+ # Corresponds to the JSON property `resourceUrl`
746
+ # @return [String]
747
+ attr_accessor :resource_url
730
748
 
731
- # Schedule for scheduled export. This is used to configure scheduled export for
732
- # both GCS and BigQuery.
733
- # Corresponds to the JSON property `snapshotSchedule`
734
- # @return [Google::Apis::CloudassetV1p7beta1::ScheduleConfig]
735
- attr_accessor :snapshot_schedule
749
+ # The API version. Example: `v1`
750
+ # Corresponds to the JSON property `version`
751
+ # @return [String]
752
+ attr_accessor :version
736
753
 
737
754
  def initialize(**args)
738
755
  update!(**args)
@@ -740,8 +757,13 @@ module Google
740
757
 
741
758
  # Update properties of this object
742
759
  def update!(**args)
743
- @destination = args[:destination] if args.key?(:destination)
744
- @snapshot_schedule = args[:snapshot_schedule] if args.key?(:snapshot_schedule)
760
+ @data = args[:data] if args.key?(:data)
761
+ @discovery_document_uri = args[:discovery_document_uri] if args.key?(:discovery_document_uri)
762
+ @discovery_name = args[:discovery_name] if args.key?(:discovery_name)
763
+ @location = args[:location] if args.key?(:location)
764
+ @parent = args[:parent] if args.key?(:parent)
765
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
766
+ @version = args[:version] if args.key?(:version)
745
767
  end
746
768
  end
747
769
 
@@ -1350,9 +1372,9 @@ module Google
1350
1372
 
1351
1373
  # Defines the conditions under which an EgressPolicy matches a request.
1352
1374
  # Conditions based on information about the source of the request. Note that if
1353
- # the destination of the request is protected by a ServicePerimeter, then that
1354
- # ServicePerimeter must have an IngressPolicy which allows access in order for
1355
- # this request to succeed.
1375
+ # the destination of the request is also protected by a ServicePerimeter, then
1376
+ # that ServicePerimeter must have an IngressPolicy which allows access in order
1377
+ # for this request to succeed.
1356
1378
  class GoogleIdentityAccesscontextmanagerV1EgressFrom
1357
1379
  include Google::Apis::Core::Hashable
1358
1380
 
@@ -1398,9 +1420,9 @@ module Google
1398
1420
 
1399
1421
  # Defines the conditions under which an EgressPolicy matches a request.
1400
1422
  # Conditions based on information about the source of the request. Note that if
1401
- # the destination of the request is protected by a ServicePerimeter, then that
1402
- # ServicePerimeter must have an IngressPolicy which allows access in order for
1403
- # this request to succeed.
1423
+ # the destination of the request is also protected by a ServicePerimeter, then
1424
+ # that ServicePerimeter must have an IngressPolicy which allows access in order
1425
+ # for this request to succeed.
1404
1426
  # Corresponds to the JSON property `egressFrom`
1405
1427
  # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1EgressFrom]
1406
1428
  attr_accessor :egress_from
@@ -1408,8 +1430,10 @@ module Google
1408
1430
  # Defines the conditions under which an EgressPolicy matches a request.
1409
1431
  # Conditions are based on information about the ApiOperation intended to be
1410
1432
  # performed on the `resources` specified. Note that if the destination of the
1411
- # request is protected by a ServicePerimeter, then that ServicePerimeter must
1412
- # have an IngressPolicy which allows access in order for this request to succeed.
1433
+ # request is also protected by a ServicePerimeter, then that ServicePerimeter
1434
+ # must have an IngressPolicy which allows access in order for this request to
1435
+ # succeed. The request must match `operations` AND `resources` fields in order
1436
+ # to be allowed egress out of the perimeter.
1413
1437
  # Corresponds to the JSON property `egressTo`
1414
1438
  # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1EgressTo]
1415
1439
  attr_accessor :egress_to
@@ -1428,21 +1452,25 @@ module Google
1428
1452
  # Defines the conditions under which an EgressPolicy matches a request.
1429
1453
  # Conditions are based on information about the ApiOperation intended to be
1430
1454
  # performed on the `resources` specified. Note that if the destination of the
1431
- # request is protected by a ServicePerimeter, then that ServicePerimeter must
1432
- # have an IngressPolicy which allows access in order for this request to succeed.
1455
+ # request is also protected by a ServicePerimeter, then that ServicePerimeter
1456
+ # must have an IngressPolicy which allows access in order for this request to
1457
+ # succeed. The request must match `operations` AND `resources` fields in order
1458
+ # to be allowed egress out of the perimeter.
1433
1459
  class GoogleIdentityAccesscontextmanagerV1EgressTo
1434
1460
  include Google::Apis::Core::Hashable
1435
1461
 
1436
- # A list of ApiOperations that this egress rule applies to. A request matches if
1437
- # it contains an operation/service in this list.
1462
+ # A list of ApiOperations allowed to be performed by the sources specified in
1463
+ # the corresponding EgressFrom. A request matches if it uses an operation/
1464
+ # service in this list.
1438
1465
  # Corresponds to the JSON property `operations`
1439
1466
  # @return [Array<Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1440
1467
  attr_accessor :operations
1441
1468
 
1442
- # A list of resources, currently only projects in the form `projects/`, that
1443
- # match this to stanza. A request matches if it contains a resource in this list.
1444
- # If `*` is specified for resources, then this EgressTo rule will authorize
1445
- # access to all resources outside the perimeter.
1469
+ # A list of resources, currently only projects in the form `projects/`, that are
1470
+ # allowed to be accessed by sources defined in the corresponding EgressFrom. A
1471
+ # request matches if it contains a resource in this list. If `*` is specified
1472
+ # for `resources`, then this EgressTo rule will authorize access to all
1473
+ # resources outside the perimeter.
1446
1474
  # Corresponds to the JSON property `resources`
1447
1475
  # @return [Array<String>]
1448
1476
  attr_accessor :resources
@@ -1459,7 +1487,9 @@ module Google
1459
1487
  end
1460
1488
 
1461
1489
  # Defines the conditions under which an IngressPolicy matches a request.
1462
- # Conditions are based on information about the source of the request.
1490
+ # Conditions are based on information about the source of the request. The
1491
+ # request must satisfy what is defined in `sources` AND identity related fields
1492
+ # in order to match.
1463
1493
  class GoogleIdentityAccesscontextmanagerV1IngressFrom
1464
1494
  include Google::Apis::Core::Hashable
1465
1495
 
@@ -1508,14 +1538,17 @@ module Google
1508
1538
  include Google::Apis::Core::Hashable
1509
1539
 
1510
1540
  # Defines the conditions under which an IngressPolicy matches a request.
1511
- # Conditions are based on information about the source of the request.
1541
+ # Conditions are based on information about the source of the request. The
1542
+ # request must satisfy what is defined in `sources` AND identity related fields
1543
+ # in order to match.
1512
1544
  # Corresponds to the JSON property `ingressFrom`
1513
1545
  # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1IngressFrom]
1514
1546
  attr_accessor :ingress_from
1515
1547
 
1516
1548
  # Defines the conditions under which an IngressPolicy matches a request.
1517
1549
  # Conditions are based on information about the ApiOperation intended to be
1518
- # performed on the destination of the request.
1550
+ # performed on the target resource of the request. The request must satisfy what
1551
+ # is defined in `operations` AND `resources` in order to match.
1519
1552
  # Corresponds to the JSON property `ingressTo`
1520
1553
  # @return [Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1IngressTo]
1521
1554
  attr_accessor :ingress_to
@@ -1541,7 +1574,8 @@ module Google
1541
1574
  # cause an error. If no AccessLevel names are listed, resources within the
1542
1575
  # perimeter can only be accessed via Google Cloud calls with request origins
1543
1576
  # within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`
1544
- # . If `*` is specified, then all IngressSources will be allowed.
1577
+ # . If a single `*` is specified for `access_level`, then all IngressSources
1578
+ # will be allowed.
1545
1579
  # Corresponds to the JSON property `accessLevel`
1546
1580
  # @return [String]
1547
1581
  attr_accessor :access_level
@@ -1569,22 +1603,21 @@ module Google
1569
1603
 
1570
1604
  # Defines the conditions under which an IngressPolicy matches a request.
1571
1605
  # Conditions are based on information about the ApiOperation intended to be
1572
- # performed on the destination of the request.
1606
+ # performed on the target resource of the request. The request must satisfy what
1607
+ # is defined in `operations` AND `resources` in order to match.
1573
1608
  class GoogleIdentityAccesscontextmanagerV1IngressTo
1574
1609
  include Google::Apis::Core::Hashable
1575
1610
 
1576
- # A list of ApiOperations the sources specified in corresponding IngressFrom are
1577
- # allowed to perform in this ServicePerimeter.
1611
+ # A list of ApiOperations allowed to be performed by the sources specified in
1612
+ # corresponding IngressFrom in this ServicePerimeter.
1578
1613
  # Corresponds to the JSON property `operations`
1579
1614
  # @return [Array<Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1580
1615
  attr_accessor :operations
1581
1616
 
1582
1617
  # A list of resources, currently only projects in the form `projects/`,
1583
1618
  # protected by this ServicePerimeter that are allowed to be accessed by sources
1584
- # defined in the corresponding IngressFrom. A request matches if it contains a
1585
- # resource in this list. If `*` is specified for resources, then this IngressTo
1586
- # rule will authorize access to all resources inside the perimeter, provided
1587
- # that the request also matches the `operations` field.
1619
+ # defined in the corresponding IngressFrom. If a single `*` is specified, then
1620
+ # access to all resources inside the perimeter are allowed.
1588
1621
  # Corresponds to the JSON property `resources`
1589
1622
  # @return [Array<String>]
1590
1623
  attr_accessor :resources
@@ -1838,93 +1871,6 @@ module Google
1838
1871
  end
1839
1872
  end
1840
1873
 
1841
- # Inventory Settings. There is only one inventory settings for a given
1842
- # organization, folder or project. Users can update inventory settings using
1843
- # specific API, but cannot create or delete.
1844
- class InventorySettings
1845
- include Google::Apis::Core::Hashable
1846
-
1847
- # Output only. A list of export settings.
1848
- # Corresponds to the JSON property `exportSettings`
1849
- # @return [Array<String>]
1850
- attr_accessor :export_settings
1851
-
1852
- # Required. The format will be projects/`PROJECT_NUMBER`/inventorySettings or
1853
- # folders/`FOLDER_NUMBER`/inventorySettings or organizations/`
1854
- # ORGANIZATION_NUMBER`/inventorySettings
1855
- # Corresponds to the JSON property `name`
1856
- # @return [String]
1857
- attr_accessor :name
1858
-
1859
- def initialize(**args)
1860
- update!(**args)
1861
- end
1862
-
1863
- # Update properties of this object
1864
- def update!(**args)
1865
- @export_settings = args[:export_settings] if args.key?(:export_settings)
1866
- @name = args[:name] if args.key?(:name)
1867
- end
1868
- end
1869
-
1870
- # ListAssets response.
1871
- class ListAssetUpdatesResponse
1872
- include Google::Apis::Core::Hashable
1873
-
1874
- # Asset updates in the time window.
1875
- # Corresponds to the JSON property `assetUpdates`
1876
- # @return [Array<Google::Apis::CloudassetV1p7beta1::Asset>]
1877
- attr_accessor :asset_updates
1878
-
1879
- # Token to retrieve the next page of results. Set to empty if there are no
1880
- # remaining results.
1881
- # Corresponds to the JSON property `nextPageToken`
1882
- # @return [String]
1883
- attr_accessor :next_page_token
1884
-
1885
- # Time window configuration for asset updates requests.
1886
- # Corresponds to the JSON property `updateTimeWindow`
1887
- # @return [Google::Apis::CloudassetV1p7beta1::UpdateTimeWindow]
1888
- attr_accessor :update_time_window
1889
-
1890
- def initialize(**args)
1891
- update!(**args)
1892
- end
1893
-
1894
- # Update properties of this object
1895
- def update!(**args)
1896
- @asset_updates = args[:asset_updates] if args.key?(:asset_updates)
1897
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1898
- @update_time_window = args[:update_time_window] if args.key?(:update_time_window)
1899
- end
1900
- end
1901
-
1902
- #
1903
- class ListExportSettingsResponse
1904
- include Google::Apis::Core::Hashable
1905
-
1906
- # A list of export settings.
1907
- # Corresponds to the JSON property `exportSettings`
1908
- # @return [Array<Google::Apis::CloudassetV1p7beta1::ExportSetting>]
1909
- attr_accessor :export_settings
1910
-
1911
- # Token to retrieve the next page of results. Set to empty if there are no
1912
- # remaining results.
1913
- # Corresponds to the JSON property `nextPageToken`
1914
- # @return [String]
1915
- attr_accessor :next_page_token
1916
-
1917
- def initialize(**args)
1918
- update!(**args)
1919
- end
1920
-
1921
- # Update properties of this object
1922
- def update!(**args)
1923
- @export_settings = args[:export_settings] if args.key?(:export_settings)
1924
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1925
- end
1926
- end
1927
-
1928
1874
  # This resource represents a long-running operation that is the result of a
1929
1875
  # network API call.
1930
1876
  class Operation
@@ -1987,50 +1933,6 @@ module Google
1987
1933
  end
1988
1934
  end
1989
1935
 
1990
- # Output configuration for export assets destination.
1991
- class OutputConfig
1992
- include Google::Apis::Core::Hashable
1993
-
1994
- # A BigQuery destination for exporting assets to.
1995
- # Corresponds to the JSON property `bigqueryDestination`
1996
- # @return [Google::Apis::CloudassetV1p7beta1::BigQueryDestination]
1997
- attr_accessor :bigquery_destination
1998
-
1999
- # A Cloud Storage location.
2000
- # Corresponds to the JSON property `gcsDestination`
2001
- # @return [Google::Apis::CloudassetV1p7beta1::GcsDestination]
2002
- attr_accessor :gcs_destination
2003
-
2004
- def initialize(**args)
2005
- update!(**args)
2006
- end
2007
-
2008
- # Update properties of this object
2009
- def update!(**args)
2010
- @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination)
2011
- @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
2012
- end
2013
- end
2014
-
2015
- # Specifications of BigQuery partitioned table as export destination.
2016
- class PartitionSpec
2017
- include Google::Apis::Core::Hashable
2018
-
2019
- # The partition key for BigQuery partitioned table.
2020
- # Corresponds to the JSON property `partitionKey`
2021
- # @return [String]
2022
- attr_accessor :partition_key
2023
-
2024
- def initialize(**args)
2025
- update!(**args)
2026
- end
2027
-
2028
- # Update properties of this object
2029
- def update!(**args)
2030
- @partition_key = args[:partition_key] if args.key?(:partition_key)
2031
- end
2032
- end
2033
-
2034
1936
  # An Identity and Access Management (IAM) policy, which specifies access
2035
1937
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2036
1938
  # A `binding` binds one or more `members` to a single `role`. Members can be
@@ -2121,110 +2023,6 @@ module Google
2121
2023
  end
2122
2024
  end
2123
2025
 
2124
- # A representation of a Google Cloud resource.
2125
- class Resource
2126
- include Google::Apis::Core::Hashable
2127
-
2128
- # The content of the resource, in which some sensitive fields are removed and
2129
- # may not be present.
2130
- # Corresponds to the JSON property `data`
2131
- # @return [Hash<String,Object>]
2132
- attr_accessor :data
2133
-
2134
- # The URL of the discovery document containing the resource's JSON schema.
2135
- # Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This
2136
- # value is unspecified for resources that do not have an API based on a
2137
- # discovery document, such as Cloud Bigtable.
2138
- # Corresponds to the JSON property `discoveryDocumentUri`
2139
- # @return [String]
2140
- attr_accessor :discovery_document_uri
2141
-
2142
- # The JSON schema name listed in the discovery document. Example: `Project` This
2143
- # value is unspecified for resources that do not have an API based on a
2144
- # discovery document, such as Cloud Bigtable.
2145
- # Corresponds to the JSON property `discoveryName`
2146
- # @return [String]
2147
- attr_accessor :discovery_name
2148
-
2149
- # The location of the resource in Google Cloud, such as its zone and region. For
2150
- # more information, see https://cloud.google.com/about/locations/.
2151
- # Corresponds to the JSON property `location`
2152
- # @return [String]
2153
- attr_accessor :location
2154
-
2155
- # The full name of the immediate parent of this resource. See [Resource Names](
2156
- # https://cloud.google.com/apis/design/resource_names#full_resource_name) for
2157
- # more information. For Google Cloud assets, this value is the parent resource
2158
- # defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/
2159
- # overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/
2160
- # projects/my_project_123` For third-party assets, this field may be set
2161
- # differently.
2162
- # Corresponds to the JSON property `parent`
2163
- # @return [String]
2164
- attr_accessor :parent
2165
-
2166
- # The REST URL for accessing the resource. An HTTP `GET` request using this URL
2167
- # returns the resource itself. Example: `https://cloudresourcemanager.googleapis.
2168
- # com/v1/projects/my-project-123` This value is unspecified for resources
2169
- # without a REST API.
2170
- # Corresponds to the JSON property `resourceUrl`
2171
- # @return [String]
2172
- attr_accessor :resource_url
2173
-
2174
- # The API version. Example: `v1`
2175
- # Corresponds to the JSON property `version`
2176
- # @return [String]
2177
- attr_accessor :version
2178
-
2179
- def initialize(**args)
2180
- update!(**args)
2181
- end
2182
-
2183
- # Update properties of this object
2184
- def update!(**args)
2185
- @data = args[:data] if args.key?(:data)
2186
- @discovery_document_uri = args[:discovery_document_uri] if args.key?(:discovery_document_uri)
2187
- @discovery_name = args[:discovery_name] if args.key?(:discovery_name)
2188
- @location = args[:location] if args.key?(:location)
2189
- @parent = args[:parent] if args.key?(:parent)
2190
- @resource_url = args[:resource_url] if args.key?(:resource_url)
2191
- @version = args[:version] if args.key?(:version)
2192
- end
2193
- end
2194
-
2195
- # Schedule for scheduled export. This is used to configure scheduled export for
2196
- # both GCS and BigQuery.
2197
- class ScheduleConfig
2198
- include Google::Apis::Core::Hashable
2199
-
2200
- # Required. Cron-tab formatted schedule by which the job will execute Format:
2201
- # minute, hour, day of month, month, day of week e.g. 0 0 * * WED = every
2202
- # Wednesday More examples: https://crontab.guru/examples.html
2203
- # Corresponds to the JSON property `crontab`
2204
- # @return [String]
2205
- attr_accessor :crontab
2206
-
2207
- # Specifies the time zone to be used in interpreting [crontab]. The value of
2208
- # this field must be a time zone name from the [tz database](https://en.
2209
- # wikipedia.org/wiki/Tz_database). Note that some time zones include a provision
2210
- # for daylight savings time. The rules for daylight saving time are determined
2211
- # by the chosen tz. For UTC use the string "utc". If a time zone is not
2212
- # specified, the default will be in UTC (also known as GMT).
2213
- # Corresponds to the JSON property `timeZone`
2214
- # @return [String]
2215
- attr_accessor :time_zone
2216
-
2217
- def initialize(**args)
2218
- update!(**args)
2219
- end
2220
-
2221
- # Update properties of this object
2222
- def update!(**args)
2223
- @crontab = args[:crontab] if args.key?(:crontab)
2224
- @time_zone = args[:time_zone] if args.key?(:time_zone)
2225
- end
2226
- end
2227
-
2228
2026
  # The `Status` type defines a logical error model that is suitable for different
2229
2027
  # programming environments, including REST APIs and RPC APIs. It is used by [
2230
2028
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -2263,57 +2061,6 @@ module Google
2263
2061
  @message = args[:message] if args.key?(:message)
2264
2062
  end
2265
2063
  end
2266
-
2267
- # A time window specified by its `start_time` and `end_time`.
2268
- class TimeWindow
2269
- include Google::Apis::Core::Hashable
2270
-
2271
- # End time of the time window (inclusive). If not specified, the current
2272
- # timestamp is used instead.
2273
- # Corresponds to the JSON property `endTime`
2274
- # @return [String]
2275
- attr_accessor :end_time
2276
-
2277
- # Start time of the time window (exclusive).
2278
- # Corresponds to the JSON property `startTime`
2279
- # @return [String]
2280
- attr_accessor :start_time
2281
-
2282
- def initialize(**args)
2283
- update!(**args)
2284
- end
2285
-
2286
- # Update properties of this object
2287
- def update!(**args)
2288
- @end_time = args[:end_time] if args.key?(:end_time)
2289
- @start_time = args[:start_time] if args.key?(:start_time)
2290
- end
2291
- end
2292
-
2293
- # Time window configuration for asset updates requests.
2294
- class UpdateTimeWindow
2295
- include Google::Apis::Core::Hashable
2296
-
2297
- # A time window specified by its `start_time` and `end_time`.
2298
- # Corresponds to the JSON property `timeWindow`
2299
- # @return [Google::Apis::CloudassetV1p7beta1::TimeWindow]
2300
- attr_accessor :time_window
2301
-
2302
- # The type of the time in time_window.
2303
- # Corresponds to the JSON property `type`
2304
- # @return [String]
2305
- attr_accessor :type
2306
-
2307
- def initialize(**args)
2308
- update!(**args)
2309
- end
2310
-
2311
- # Update properties of this object
2312
- def update!(**args)
2313
- @time_window = args[:time_window] if args.key?(:time_window)
2314
- @type = args[:type] if args.key?(:type)
2315
- end
2316
- end
2317
2064
  end
2318
2065
  end
2319
2066
  end