google-apis-cloudasset_v1 0.2.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f251aa71e24f05a6ccbfc3820871fabbc704f0e38b74856f394189aa368a3cbc
4
- data.tar.gz: 11709ac52f89ca001d2c00d0cef65f601ea76c4aa623d31831221a34debab4da
3
+ metadata.gz: 29b2fb0fff69b8ef5b76dc3a6ade6c0c49ca8779d6e191738232eb56feba6ec2
4
+ data.tar.gz: 613c440f2f00a9f061523c9ab1ab0b11d4988cb2a1252e7e63bab43c4074c3ea
5
5
  SHA512:
6
- metadata.gz: c8804dae4e25875abdfaed2c800a020dc4bd4724efef0cc61d02676a3ade42d6497951441efbf6b712f89032ac68abe1117399bd38ad7bdcf07707c43541f7ce
7
- data.tar.gz: ef8a3b134b2fba6f3b073ccc26ceebd39b9d9f810c255f39cf9df514a1679c3827c76d6d797a5a4c9f189d752f36450b70b3d9e4b07bd839e46fc2dad9dd13bb
6
+ metadata.gz: 35446a89ac501a688bae7c75819a94bd60ad7f5e4ff36c790cf442d955e386ab59ee2d8a752a8cfd1e5baa371644e6145d87b143d5d2d4c916578325376b62a1
7
+ data.tar.gz: 586b19cd1f9b1af34a1b491a3e4c9981018fa11f82c1231ec54f7167de554abe366464f05647e35a28680857a3cdc3906f24a26eb6fd96c47ffa8e6db2433869
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-cloudasset_v1
2
2
 
3
+ ### v0.7.0 (2021-05-12)
4
+
5
+ * Regenerated from discovery document revision 20210507
6
+
7
+ ### v0.6.0 (2021-03-31)
8
+
9
+ * Regenerated from discovery document revision 20210326
10
+
11
+ ### v0.5.0 (2021-03-09)
12
+
13
+ * Regenerated from discovery document revision 20210305
14
+ * Regenerated using generator version 0.2.0
15
+
16
+ ### v0.4.0 (2021-03-04)
17
+
18
+ * Regenerated from discovery document revision 20210226
19
+
20
+ ### v0.3.0 (2021-02-17)
21
+
22
+ * Regenerated from discovery document revision 20210212
23
+
3
24
  ### v0.2.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 = 'V1'
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
@@ -75,6 +75,19 @@ module Google
75
75
  end
76
76
  end
77
77
 
78
+ # A response message for AssetService.AnalyzeIamPolicyLongrunning.
79
+ class AnalyzeIamPolicyLongrunningResponse
80
+ include Google::Apis::Core::Hashable
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ end
89
+ end
90
+
78
91
  # A response message for AssetService.AnalyzeIamPolicy.
79
92
  class AnalyzeIamPolicyResponse
80
93
  include Google::Apis::Core::Hashable
@@ -114,8 +127,9 @@ module Google
114
127
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
115
128
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
116
129
  # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
117
- # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
118
- # asset-inventory/docs/supported-asset-types) for more information.
130
+ # (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP
131
+ # relationship). See [Supported asset types](https://cloud.google.com/asset-
132
+ # inventory/docs/supported-asset-types) for more information.
119
133
  class Asset
120
134
  include Google::Apis::Core::Hashable
121
135
 
@@ -480,6 +494,46 @@ module Google
480
494
  end
481
495
  end
482
496
 
497
+ # The IAM conditions context.
498
+ class ConditionContext
499
+ include Google::Apis::Core::Hashable
500
+
501
+ # The hypothetical access timestamp to evaluate IAM conditions. Note that this
502
+ # value must not be earlier than the current time; otherwise, an
503
+ # INVALID_ARGUMENT error will be returned.
504
+ # Corresponds to the JSON property `accessTime`
505
+ # @return [String]
506
+ attr_accessor :access_time
507
+
508
+ def initialize(**args)
509
+ update!(**args)
510
+ end
511
+
512
+ # Update properties of this object
513
+ def update!(**args)
514
+ @access_time = args[:access_time] if args.key?(:access_time)
515
+ end
516
+ end
517
+
518
+ # The Condition evaluation.
519
+ class ConditionEvaluation
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # The evaluation result.
523
+ # Corresponds to the JSON property `evaluationValue`
524
+ # @return [String]
525
+ attr_accessor :evaluation_value
526
+
527
+ def initialize(**args)
528
+ update!(**args)
529
+ end
530
+
531
+ # Update properties of this object
532
+ def update!(**args)
533
+ @evaluation_value = args[:evaluation_value] if args.key?(:evaluation_value)
534
+ end
535
+ end
536
+
483
537
  # Create asset feed request.
484
538
  class CreateFeedRequest
485
539
  include Google::Apis::Core::Hashable
@@ -763,7 +817,9 @@ module Google
763
817
  # The uri of the Cloud Storage object. It's the same uri that is used by gsutil.
764
818
  # Example: "gs://bucket_name/object_name". See [Viewing and Editing Object
765
819
  # Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for
766
- # more information.
820
+ # more information. If the specified Cloud Storage object already exists and
821
+ # there is no [hold](https://cloud.google.com/storage/docs/object-holds), it
822
+ # will be overwritten with the exported result.
767
823
  # Corresponds to the JSON property `uri`
768
824
  # @return [String]
769
825
  attr_accessor :uri
@@ -842,6 +898,11 @@ module Google
842
898
  # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Access>]
843
899
  attr_accessor :accesses
844
900
 
901
+ # The Condition evaluation.
902
+ # Corresponds to the JSON property `conditionEvaluation`
903
+ # @return [Google::Apis::CloudassetV1::ConditionEvaluation]
904
+ attr_accessor :condition_evaluation
905
+
845
906
  # Resource edges of the graph starting from the policy attached resource to any
846
907
  # descendant resources. The Edge.source_node contains the full resource name of
847
908
  # a parent resource and Edge.target_node contains the full resource name of a
@@ -865,6 +926,7 @@ module Google
865
926
  # Update properties of this object
866
927
  def update!(**args)
867
928
  @accesses = args[:accesses] if args.key?(:accesses)
929
+ @condition_evaluation = args[:condition_evaluation] if args.key?(:condition_evaluation)
868
930
  @resource_edges = args[:resource_edges] if args.key?(:resource_edges)
869
931
  @resources = args[:resources] if args.key?(:resources)
870
932
  end
@@ -954,9 +1016,11 @@ module Google
954
1016
  include Google::Apis::Core::Hashable
955
1017
 
956
1018
  # Required. The uri of the Cloud Storage object. It's the same uri that is used
957
- # by gsutil. For example: "gs://bucket_name/object_name". See [Quickstart: Using
958
- # the gsutil tool] (https://cloud.google.com/storage/docs/quickstart-gsutil) for
959
- # examples.
1019
+ # by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and Editing
1020
+ # Object Metadata](https://cloud.google.com/storage/docs/viewing-editing-
1021
+ # metadata) for more information. If the specified Cloud Storage object already
1022
+ # exists and there is no [hold](https://cloud.google.com/storage/docs/object-
1023
+ # holds), it will be overwritten with the analysis result.
960
1024
  # Corresponds to the JSON property `uri`
961
1025
  # @return [String]
962
1026
  attr_accessor :uri
@@ -1058,6 +1122,326 @@ module Google
1058
1122
  end
1059
1123
  end
1060
1124
 
1125
+ # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
1126
+ # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
1127
+ # platform-resource-hierarchy), a resource outside the Google Cloud resource
1128
+ # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
1129
+ # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
1130
+ # asset-inventory/docs/supported-asset-types) for more information.
1131
+ class GoogleCloudAssetV1p7beta1Asset
1132
+ include Google::Apis::Core::Hashable
1133
+
1134
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
1135
+ # services, along with a list of requirements necessary for the label to be
1136
+ # applied.
1137
+ # Corresponds to the JSON property `accessLevel`
1138
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel]
1139
+ attr_accessor :access_level
1140
+
1141
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
1142
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which define
1143
+ # regions of services able to freely pass data within a perimeter). An access
1144
+ # policy is globally visible within an organization, and the restrictions it
1145
+ # specifies apply to all projects within an organization.
1146
+ # Corresponds to the JSON property `accessPolicy`
1147
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy]
1148
+ attr_accessor :access_policy
1149
+
1150
+ # The ancestry path of an asset in Google Cloud [resource hierarchy](https://
1151
+ # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
1152
+ # represented as a list of relative resource names. An ancestry path starts with
1153
+ # the closest ancestor in the hierarchy and ends at root. If the asset is a
1154
+ # project, folder, or organization, the ancestry path starts from the asset
1155
+ # itself. Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
1156
+ # Corresponds to the JSON property `ancestors`
1157
+ # @return [Array<String>]
1158
+ attr_accessor :ancestors
1159
+
1160
+ # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported
1161
+ # asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-
1162
+ # types) for more information.
1163
+ # Corresponds to the JSON property `assetType`
1164
+ # @return [String]
1165
+ attr_accessor :asset_type
1166
+
1167
+ # An Identity and Access Management (IAM) policy, which specifies access
1168
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1169
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1170
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1171
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1172
+ # role or a user-created custom role. For some types of Google Cloud resources,
1173
+ # a `binding` can also specify a `condition`, which is a logical expression that
1174
+ # allows access to a resource only if the expression evaluates to `true`. A
1175
+ # condition can add constraints based on attributes of the request, the resource,
1176
+ # or both. To learn which resources support conditions in their IAM policies,
1177
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1178
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1179
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1180
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1181
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1182
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1183
+ # title": "expirable access", "description": "Does not grant access after Sep
1184
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1185
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1186
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1187
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1188
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1189
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1190
+ # description: Does not grant access after Sep 2020 expression: request.time <
1191
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1192
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1193
+ # google.com/iam/docs/).
1194
+ # Corresponds to the JSON property `iamPolicy`
1195
+ # @return [Google::Apis::CloudassetV1::Policy]
1196
+ attr_accessor :iam_policy
1197
+
1198
+ # The full name of the asset. Example: `//compute.googleapis.com/projects/
1199
+ # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
1200
+ # cloud.google.com/apis/design/resource_names#full_resource_name) for more
1201
+ # information.
1202
+ # Corresponds to the JSON property `name`
1203
+ # @return [String]
1204
+ attr_accessor :name
1205
+
1206
+ # A representation of an [organization policy](https://cloud.google.com/resource-
1207
+ # manager/docs/organization-policy/overview#organization_policy). There can be
1208
+ # more than one organization policy with different constraints set on a given
1209
+ # resource.
1210
+ # Corresponds to the JSON property `orgPolicy`
1211
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudOrgpolicyV1Policy>]
1212
+ attr_accessor :org_policy
1213
+
1214
+ # The detailed related assets with the `relationship_type`.
1215
+ # Corresponds to the JSON property `relatedAssets`
1216
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelatedAssets]
1217
+ attr_accessor :related_assets
1218
+
1219
+ # A representation of a Google Cloud resource.
1220
+ # Corresponds to the JSON property `resource`
1221
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1Resource]
1222
+ attr_accessor :resource
1223
+
1224
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
1225
+ # import and export data amongst themselves, but not export outside of the `
1226
+ # ServicePerimeter`. If a request with a source within this `ServicePerimeter`
1227
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
1228
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
1229
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google
1230
+ # Cloud project can only belong to a single regular Service Perimeter. Service
1231
+ # Perimeter Bridges can contain only Google Cloud projects as members, a single
1232
+ # Google Cloud project may belong to multiple Service Perimeter Bridges.
1233
+ # Corresponds to the JSON property `servicePerimeter`
1234
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
1235
+ attr_accessor :service_perimeter
1236
+
1237
+ # The last update timestamp of an asset. update_time is updated when create/
1238
+ # update/delete operation is performed.
1239
+ # Corresponds to the JSON property `updateTime`
1240
+ # @return [String]
1241
+ attr_accessor :update_time
1242
+
1243
+ def initialize(**args)
1244
+ update!(**args)
1245
+ end
1246
+
1247
+ # Update properties of this object
1248
+ def update!(**args)
1249
+ @access_level = args[:access_level] if args.key?(:access_level)
1250
+ @access_policy = args[:access_policy] if args.key?(:access_policy)
1251
+ @ancestors = args[:ancestors] if args.key?(:ancestors)
1252
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
1253
+ @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
1254
+ @name = args[:name] if args.key?(:name)
1255
+ @org_policy = args[:org_policy] if args.key?(:org_policy)
1256
+ @related_assets = args[:related_assets] if args.key?(:related_assets)
1257
+ @resource = args[:resource] if args.key?(:resource)
1258
+ @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
1259
+ @update_time = args[:update_time] if args.key?(:update_time)
1260
+ end
1261
+ end
1262
+
1263
+ # An asset identify in Google Cloud which contains its name, type and ancestors.
1264
+ # An asset can be any resource in the Google Cloud [resource hierarchy](https://
1265
+ # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a
1266
+ # resource outside the Google Cloud resource hierarchy (such as Google
1267
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
1268
+ # See [Supported asset types](https://cloud.google.com/asset-inventory/docs/
1269
+ # supported-asset-types) for more information.
1270
+ class GoogleCloudAssetV1p7beta1RelatedAsset
1271
+ include Google::Apis::Core::Hashable
1272
+
1273
+ # The ancestors of an asset in Google Cloud [resource hierarchy](https://cloud.
1274
+ # google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
1275
+ # represented as a list of relative resource names. An ancestry path starts with
1276
+ # the closest ancestor in the hierarchy and ends at root. Example: `["projects/
1277
+ # 123456789", "folders/5432", "organizations/1234"]`
1278
+ # Corresponds to the JSON property `ancestors`
1279
+ # @return [Array<String>]
1280
+ attr_accessor :ancestors
1281
+
1282
+ # The full name of the asset. Example: `//compute.googleapis.com/projects/
1283
+ # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
1284
+ # cloud.google.com/apis/design/resource_names#full_resource_name) for more
1285
+ # information.
1286
+ # Corresponds to the JSON property `asset`
1287
+ # @return [String]
1288
+ attr_accessor :asset
1289
+
1290
+ # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported
1291
+ # asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-
1292
+ # types) for more information.
1293
+ # Corresponds to the JSON property `assetType`
1294
+ # @return [String]
1295
+ attr_accessor :asset_type
1296
+
1297
+ def initialize(**args)
1298
+ update!(**args)
1299
+ end
1300
+
1301
+ # Update properties of this object
1302
+ def update!(**args)
1303
+ @ancestors = args[:ancestors] if args.key?(:ancestors)
1304
+ @asset = args[:asset] if args.key?(:asset)
1305
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
1306
+ end
1307
+ end
1308
+
1309
+ # The detailed related assets with the `relationship_type`.
1310
+ class GoogleCloudAssetV1p7beta1RelatedAssets
1311
+ include Google::Apis::Core::Hashable
1312
+
1313
+ # The peer resources of the relationship.
1314
+ # Corresponds to the JSON property `assets`
1315
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelatedAsset>]
1316
+ attr_accessor :assets
1317
+
1318
+ # The relationship attributes which include `type`, `source_resource_type`, `
1319
+ # target_resource_type` and `action`.
1320
+ # Corresponds to the JSON property `relationshipAttributes`
1321
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelationshipAttributes]
1322
+ attr_accessor :relationship_attributes
1323
+
1324
+ def initialize(**args)
1325
+ update!(**args)
1326
+ end
1327
+
1328
+ # Update properties of this object
1329
+ def update!(**args)
1330
+ @assets = args[:assets] if args.key?(:assets)
1331
+ @relationship_attributes = args[:relationship_attributes] if args.key?(:relationship_attributes)
1332
+ end
1333
+ end
1334
+
1335
+ # The relationship attributes which include `type`, `source_resource_type`, `
1336
+ # target_resource_type` and `action`.
1337
+ class GoogleCloudAssetV1p7beta1RelationshipAttributes
1338
+ include Google::Apis::Core::Hashable
1339
+
1340
+ # The detail of the relationship, e.g. `contains`, `attaches`
1341
+ # Corresponds to the JSON property `action`
1342
+ # @return [String]
1343
+ attr_accessor :action
1344
+
1345
+ # The source asset type. Example: `compute.googleapis.com/Instance`
1346
+ # Corresponds to the JSON property `sourceResourceType`
1347
+ # @return [String]
1348
+ attr_accessor :source_resource_type
1349
+
1350
+ # The target asset type. Example: `compute.googleapis.com/Disk`
1351
+ # Corresponds to the JSON property `targetResourceType`
1352
+ # @return [String]
1353
+ attr_accessor :target_resource_type
1354
+
1355
+ # The unique identifier of the relationship type. Example: `
1356
+ # INSTANCE_TO_INSTANCEGROUP`
1357
+ # Corresponds to the JSON property `type`
1358
+ # @return [String]
1359
+ attr_accessor :type
1360
+
1361
+ def initialize(**args)
1362
+ update!(**args)
1363
+ end
1364
+
1365
+ # Update properties of this object
1366
+ def update!(**args)
1367
+ @action = args[:action] if args.key?(:action)
1368
+ @source_resource_type = args[:source_resource_type] if args.key?(:source_resource_type)
1369
+ @target_resource_type = args[:target_resource_type] if args.key?(:target_resource_type)
1370
+ @type = args[:type] if args.key?(:type)
1371
+ end
1372
+ end
1373
+
1374
+ # A representation of a Google Cloud resource.
1375
+ class GoogleCloudAssetV1p7beta1Resource
1376
+ include Google::Apis::Core::Hashable
1377
+
1378
+ # The content of the resource, in which some sensitive fields are removed and
1379
+ # may not be present.
1380
+ # Corresponds to the JSON property `data`
1381
+ # @return [Hash<String,Object>]
1382
+ attr_accessor :data
1383
+
1384
+ # The URL of the discovery document containing the resource's JSON schema.
1385
+ # Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This
1386
+ # value is unspecified for resources that do not have an API based on a
1387
+ # discovery document, such as Cloud Bigtable.
1388
+ # Corresponds to the JSON property `discoveryDocumentUri`
1389
+ # @return [String]
1390
+ attr_accessor :discovery_document_uri
1391
+
1392
+ # The JSON schema name listed in the discovery document. Example: `Project` This
1393
+ # value is unspecified for resources that do not have an API based on a
1394
+ # discovery document, such as Cloud Bigtable.
1395
+ # Corresponds to the JSON property `discoveryName`
1396
+ # @return [String]
1397
+ attr_accessor :discovery_name
1398
+
1399
+ # The location of the resource in Google Cloud, such as its zone and region. For
1400
+ # more information, see https://cloud.google.com/about/locations/.
1401
+ # Corresponds to the JSON property `location`
1402
+ # @return [String]
1403
+ attr_accessor :location
1404
+
1405
+ # The full name of the immediate parent of this resource. See [Resource Names](
1406
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name) for
1407
+ # more information. For Google Cloud assets, this value is the parent resource
1408
+ # defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/
1409
+ # overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/
1410
+ # projects/my_project_123` For third-party assets, this field may be set
1411
+ # differently.
1412
+ # Corresponds to the JSON property `parent`
1413
+ # @return [String]
1414
+ attr_accessor :parent
1415
+
1416
+ # The REST URL for accessing the resource. An HTTP `GET` request using this URL
1417
+ # returns the resource itself. Example: `https://cloudresourcemanager.googleapis.
1418
+ # com/v1/projects/my-project-123` This value is unspecified for resources
1419
+ # without a REST API.
1420
+ # Corresponds to the JSON property `resourceUrl`
1421
+ # @return [String]
1422
+ attr_accessor :resource_url
1423
+
1424
+ # The API version. Example: `v1`
1425
+ # Corresponds to the JSON property `version`
1426
+ # @return [String]
1427
+ attr_accessor :version
1428
+
1429
+ def initialize(**args)
1430
+ update!(**args)
1431
+ end
1432
+
1433
+ # Update properties of this object
1434
+ def update!(**args)
1435
+ @data = args[:data] if args.key?(:data)
1436
+ @discovery_document_uri = args[:discovery_document_uri] if args.key?(:discovery_document_uri)
1437
+ @discovery_name = args[:discovery_name] if args.key?(:discovery_name)
1438
+ @location = args[:location] if args.key?(:location)
1439
+ @parent = args[:parent] if args.key?(:parent)
1440
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
1441
+ @version = args[:version] if args.key?(:version)
1442
+ end
1443
+ end
1444
+
1061
1445
  # Used in `policy_type` to specify how `boolean_policy` will behave at this
1062
1446
  # resource.
1063
1447
  class GoogleCloudOrgpolicyV1BooleanPolicy
@@ -1663,9 +2047,9 @@ module Google
1663
2047
 
1664
2048
  # Defines the conditions under which an EgressPolicy matches a request.
1665
2049
  # Conditions based on information about the source of the request. Note that if
1666
- # the destination of the request is protected by a ServicePerimeter, then that
1667
- # ServicePerimeter must have an IngressPolicy which allows access in order for
1668
- # this request to succeed.
2050
+ # the destination of the request is also protected by a ServicePerimeter, then
2051
+ # that ServicePerimeter must have an IngressPolicy which allows access in order
2052
+ # for this request to succeed.
1669
2053
  class GoogleIdentityAccesscontextmanagerV1EgressFrom
1670
2054
  include Google::Apis::Core::Hashable
1671
2055
 
@@ -1711,9 +2095,9 @@ module Google
1711
2095
 
1712
2096
  # Defines the conditions under which an EgressPolicy matches a request.
1713
2097
  # Conditions based on information about the source of the request. Note that if
1714
- # the destination of the request is protected by a ServicePerimeter, then that
1715
- # ServicePerimeter must have an IngressPolicy which allows access in order for
1716
- # this request to succeed.
2098
+ # the destination of the request is also protected by a ServicePerimeter, then
2099
+ # that ServicePerimeter must have an IngressPolicy which allows access in order
2100
+ # for this request to succeed.
1717
2101
  # Corresponds to the JSON property `egressFrom`
1718
2102
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressFrom]
1719
2103
  attr_accessor :egress_from
@@ -1721,8 +2105,10 @@ module Google
1721
2105
  # Defines the conditions under which an EgressPolicy matches a request.
1722
2106
  # Conditions are based on information about the ApiOperation intended to be
1723
2107
  # performed on the `resources` specified. Note that if the destination of the
1724
- # request is protected by a ServicePerimeter, then that ServicePerimeter must
1725
- # have an IngressPolicy which allows access in order for this request to succeed.
2108
+ # request is also protected by a ServicePerimeter, then that ServicePerimeter
2109
+ # must have an IngressPolicy which allows access in order for this request to
2110
+ # succeed. The request must match `operations` AND `resources` fields in order
2111
+ # to be allowed egress out of the perimeter.
1726
2112
  # Corresponds to the JSON property `egressTo`
1727
2113
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressTo]
1728
2114
  attr_accessor :egress_to
@@ -1741,21 +2127,25 @@ module Google
1741
2127
  # Defines the conditions under which an EgressPolicy matches a request.
1742
2128
  # Conditions are based on information about the ApiOperation intended to be
1743
2129
  # performed on the `resources` specified. Note that if the destination of the
1744
- # request is protected by a ServicePerimeter, then that ServicePerimeter must
1745
- # have an IngressPolicy which allows access in order for this request to succeed.
2130
+ # request is also protected by a ServicePerimeter, then that ServicePerimeter
2131
+ # must have an IngressPolicy which allows access in order for this request to
2132
+ # succeed. The request must match `operations` AND `resources` fields in order
2133
+ # to be allowed egress out of the perimeter.
1746
2134
  class GoogleIdentityAccesscontextmanagerV1EgressTo
1747
2135
  include Google::Apis::Core::Hashable
1748
2136
 
1749
- # A list of ApiOperations that this egress rule applies to. A request matches if
1750
- # it contains an operation/service in this list.
2137
+ # A list of ApiOperations allowed to be performed by the sources specified in
2138
+ # the corresponding EgressFrom. A request matches if it uses an operation/
2139
+ # service in this list.
1751
2140
  # Corresponds to the JSON property `operations`
1752
2141
  # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1753
2142
  attr_accessor :operations
1754
2143
 
1755
- # A list of resources, currently only projects in the form `projects/`, that
1756
- # match this to stanza. A request matches if it contains a resource in this list.
1757
- # If `*` is specified for resources, then this EgressTo rule will authorize
1758
- # access to all resources outside the perimeter.
2144
+ # A list of resources, currently only projects in the form `projects/`, that are
2145
+ # allowed to be accessed by sources defined in the corresponding EgressFrom. A
2146
+ # request matches if it contains a resource in this list. If `*` is specified
2147
+ # for `resources`, then this EgressTo rule will authorize access to all
2148
+ # resources outside the perimeter.
1759
2149
  # Corresponds to the JSON property `resources`
1760
2150
  # @return [Array<String>]
1761
2151
  attr_accessor :resources
@@ -1772,7 +2162,9 @@ module Google
1772
2162
  end
1773
2163
 
1774
2164
  # Defines the conditions under which an IngressPolicy matches a request.
1775
- # Conditions are based on information about the source of the request.
2165
+ # Conditions are based on information about the source of the request. The
2166
+ # request must satisfy what is defined in `sources` AND identity related fields
2167
+ # in order to match.
1776
2168
  class GoogleIdentityAccesscontextmanagerV1IngressFrom
1777
2169
  include Google::Apis::Core::Hashable
1778
2170
 
@@ -1821,14 +2213,17 @@ module Google
1821
2213
  include Google::Apis::Core::Hashable
1822
2214
 
1823
2215
  # Defines the conditions under which an IngressPolicy matches a request.
1824
- # Conditions are based on information about the source of the request.
2216
+ # Conditions are based on information about the source of the request. The
2217
+ # request must satisfy what is defined in `sources` AND identity related fields
2218
+ # in order to match.
1825
2219
  # Corresponds to the JSON property `ingressFrom`
1826
2220
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressFrom]
1827
2221
  attr_accessor :ingress_from
1828
2222
 
1829
2223
  # Defines the conditions under which an IngressPolicy matches a request.
1830
2224
  # Conditions are based on information about the ApiOperation intended to be
1831
- # performed on the destination of the request.
2225
+ # performed on the target resource of the request. The request must satisfy what
2226
+ # is defined in `operations` AND `resources` in order to match.
1832
2227
  # Corresponds to the JSON property `ingressTo`
1833
2228
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressTo]
1834
2229
  attr_accessor :ingress_to
@@ -1854,7 +2249,8 @@ module Google
1854
2249
  # cause an error. If no AccessLevel names are listed, resources within the
1855
2250
  # perimeter can only be accessed via Google Cloud calls with request origins
1856
2251
  # within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`
1857
- # . If `*` is specified, then all IngressSources will be allowed.
2252
+ # . If a single `*` is specified for `access_level`, then all IngressSources
2253
+ # will be allowed.
1858
2254
  # Corresponds to the JSON property `accessLevel`
1859
2255
  # @return [String]
1860
2256
  attr_accessor :access_level
@@ -1882,22 +2278,21 @@ module Google
1882
2278
 
1883
2279
  # Defines the conditions under which an IngressPolicy matches a request.
1884
2280
  # Conditions are based on information about the ApiOperation intended to be
1885
- # performed on the destination of the request.
2281
+ # performed on the target resource of the request. The request must satisfy what
2282
+ # is defined in `operations` AND `resources` in order to match.
1886
2283
  class GoogleIdentityAccesscontextmanagerV1IngressTo
1887
2284
  include Google::Apis::Core::Hashable
1888
2285
 
1889
- # A list of ApiOperations the sources specified in corresponding IngressFrom are
1890
- # allowed to perform in this ServicePerimeter.
2286
+ # A list of ApiOperations allowed to be performed by the sources specified in
2287
+ # corresponding IngressFrom in this ServicePerimeter.
1891
2288
  # Corresponds to the JSON property `operations`
1892
2289
  # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1893
2290
  attr_accessor :operations
1894
2291
 
1895
2292
  # A list of resources, currently only projects in the form `projects/`,
1896
2293
  # protected by this ServicePerimeter that are allowed to be accessed by sources
1897
- # defined in the corresponding IngressFrom. A request matches if it contains a
1898
- # resource in this list. If `*` is specified for resources, then this IngressTo
1899
- # rule will authorize access to all resources inside the perimeter, provided
1900
- # that the request also matches the `operations` field.
2294
+ # defined in the corresponding IngressFrom. If a single `*` is specified, then
2295
+ # access to all resources inside the perimeter are allowed.
1901
2296
  # Corresponds to the JSON property `resources`
1902
2297
  # @return [Array<String>]
1903
2298
  attr_accessor :resources
@@ -2228,6 +2623,11 @@ module Google
2228
2623
  # @return [Google::Apis::CloudassetV1::AccessSelector]
2229
2624
  attr_accessor :access_selector
2230
2625
 
2626
+ # The IAM conditions context.
2627
+ # Corresponds to the JSON property `conditionContext`
2628
+ # @return [Google::Apis::CloudassetV1::ConditionContext]
2629
+ attr_accessor :condition_context
2630
+
2231
2631
  # Specifies an identity for which to determine resource access, based on roles
2232
2632
  # assigned either directly to them or to the groups they belong to, directly or
2233
2633
  # indirectly.
@@ -2267,6 +2667,7 @@ module Google
2267
2667
  # Update properties of this object
2268
2668
  def update!(**args)
2269
2669
  @access_selector = args[:access_selector] if args.key?(:access_selector)
2670
+ @condition_context = args[:condition_context] if args.key?(:condition_context)
2270
2671
  @identity_selector = args[:identity_selector] if args.key?(:identity_selector)
2271
2672
  @options = args[:options] if args.key?(:options)
2272
2673
  @resource_selector = args[:resource_selector] if args.key?(:resource_selector)
@@ -2532,6 +2933,39 @@ module Google
2532
2933
  end
2533
2934
  end
2534
2935
 
2936
+ # ListAssets response.
2937
+ class ListAssetsResponse
2938
+ include Google::Apis::Core::Hashable
2939
+
2940
+ # Assets.
2941
+ # Corresponds to the JSON property `assets`
2942
+ # @return [Array<Google::Apis::CloudassetV1::Asset>]
2943
+ attr_accessor :assets
2944
+
2945
+ # Token to retrieve the next page of results. It expires 72 hours after the page
2946
+ # token for the first page is generated. Set to empty if there are no remaining
2947
+ # results.
2948
+ # Corresponds to the JSON property `nextPageToken`
2949
+ # @return [String]
2950
+ attr_accessor :next_page_token
2951
+
2952
+ # Time the snapshot was taken.
2953
+ # Corresponds to the JSON property `readTime`
2954
+ # @return [String]
2955
+ attr_accessor :read_time
2956
+
2957
+ def initialize(**args)
2958
+ update!(**args)
2959
+ end
2960
+
2961
+ # Update properties of this object
2962
+ def update!(**args)
2963
+ @assets = args[:assets] if args.key?(:assets)
2964
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2965
+ @read_time = args[:read_time] if args.key?(:read_time)
2966
+ end
2967
+ end
2968
+
2535
2969
  #
2536
2970
  class ListFeedsResponse
2537
2971
  include Google::Apis::Core::Hashable
@@ -3042,8 +3476,10 @@ module Google
3042
3476
  # The create timestamp of this resource, at which the resource was created. The
3043
3477
  # granularity is in seconds. Timestamp.nanos will always be 0. This field is
3044
3478
  # available only when the resource's proto contains it. To search against `
3045
- # create_time`: * use a field query (value in seconds). Example: `createTime >=
3046
- # 1594294238`
3479
+ # create_time`: * use a field query. - value in seconds since unix epoch.
3480
+ # Example: `createTime > 1609459200` - value in date string. Example: `
3481
+ # createTime > 2021-01-01` - value in date-time string (must be quoted). Example:
3482
+ # `createTime > "2021-01-01T00:00:00"`
3047
3483
  # Corresponds to the JSON property `createTime`
3048
3484
  # @return [String]
3049
3485
  attr_accessor :create_time
@@ -3068,8 +3504,8 @@ module Google
3068
3504
  # The folder(s) that this resource belongs to, in the form of folders/`
3069
3505
  # FOLDER_NUMBER`. This field is available when the resource belongs to one or
3070
3506
  # more folders. To search against `folders`: * use a field query. Example: `
3071
- # folders:(123 OR 456)` * specify the `scope` field as this folder in your
3072
- # search request.
3507
+ # folders:(123 OR 456)` * use a free text query. Example: `123` * specify the `
3508
+ # scope` field as this folder in your search request.
3073
3509
  # Corresponds to the JSON property `folders`
3074
3510
  # @return [Array<String>]
3075
3511
  attr_accessor :folders
@@ -3128,16 +3564,33 @@ module Google
3128
3564
  # The organization that this resource belongs to, in the form of organizations/`
3129
3565
  # ORGANIZATION_NUMBER`. This field is available when the resource belongs to an
3130
3566
  # organization. To search against `organization`: * use a field query. Example: `
3131
- # organization:123` * specify the `scope` field as this organization in your
3132
- # search request.
3567
+ # organization:123` * use a free text query. Example: `123` * specify the `scope`
3568
+ # field as this organization in your search request.
3133
3569
  # Corresponds to the JSON property `organization`
3134
3570
  # @return [String]
3135
3571
  attr_accessor :organization
3136
3572
 
3573
+ # The type of this resource's immediate parent, if there is one. To search
3574
+ # against the `parent_asset_type`: * use a field query. Example: `
3575
+ # parentAssetType:"cloudresourcemanager.googleapis.com/Project"` * use a free
3576
+ # text query. Example: `cloudresourcemanager.googleapis.com/Project`
3577
+ # Corresponds to the JSON property `parentAssetType`
3578
+ # @return [String]
3579
+ attr_accessor :parent_asset_type
3580
+
3581
+ # The full resource name of this resource's parent, if it has one. To search
3582
+ # against the `parent_full_resource_name`: * use a field query. Example: `
3583
+ # parentFullResourceName:"project-name"` * use a free text query. Example: `
3584
+ # project-name`
3585
+ # Corresponds to the JSON property `parentFullResourceName`
3586
+ # @return [String]
3587
+ attr_accessor :parent_full_resource_name
3588
+
3137
3589
  # The project that this resource belongs to, in the form of projects/`
3138
3590
  # PROJECT_NUMBER`. This field is available when the resource belongs to a
3139
3591
  # project. To search against `project`: * use a field query. Example: `project:
3140
- # 12345` * specify the `scope` field as this project in your search request.
3592
+ # 12345` * use a free text query. Example: `12345` * specify the `scope` field
3593
+ # as this project in your search request.
3141
3594
  # Corresponds to the JSON property `project`
3142
3595
  # @return [String]
3143
3596
  attr_accessor :project
@@ -3162,8 +3615,10 @@ module Google
3162
3615
  # The last update timestamp of this resource, at which the resource was last
3163
3616
  # modified or deleted. The granularity is in seconds. Timestamp.nanos will
3164
3617
  # always be 0. This field is available only when the resource's proto contains
3165
- # it. To search against `update_time`: * use a field query (value in seconds).
3166
- # Example: `updateTime < 1594294238`
3618
+ # it. To search against `update_time`: * use a field query. - value in seconds
3619
+ # since unix epoch. Example: `updateTime < 1609459200` - value in date string.
3620
+ # Example: `updateTime < 2021-01-01` - value in date-time string (must be quoted)
3621
+ # . Example: `updateTime < "2021-01-01T00:00:00"`
3167
3622
  # Corresponds to the JSON property `updateTime`
3168
3623
  # @return [String]
3169
3624
  attr_accessor :update_time
@@ -3186,6 +3641,8 @@ module Google
3186
3641
  @name = args[:name] if args.key?(:name)
3187
3642
  @network_tags = args[:network_tags] if args.key?(:network_tags)
3188
3643
  @organization = args[:organization] if args.key?(:organization)
3644
+ @parent_asset_type = args[:parent_asset_type] if args.key?(:parent_asset_type)
3645
+ @parent_full_resource_name = args[:parent_full_resource_name] if args.key?(:parent_full_resource_name)
3189
3646
  @project = args[:project] if args.key?(:project)
3190
3647
  @state = args[:state] if args.key?(:state)
3191
3648
  @update_time = args[:update_time] if args.key?(:update_time)
@@ -3391,8 +3848,9 @@ module Google
3391
3848
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
3392
3849
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
3393
3850
  # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
3394
- # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
3395
- # asset-inventory/docs/supported-asset-types) for more information.
3851
+ # (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP
3852
+ # relationship). See [Supported asset types](https://cloud.google.com/asset-
3853
+ # inventory/docs/supported-asset-types) for more information.
3396
3854
  # Corresponds to the JSON property `asset`
3397
3855
  # @return [Google::Apis::CloudassetV1::Asset]
3398
3856
  attr_accessor :asset
@@ -3407,8 +3865,9 @@ module Google
3407
3865
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
3408
3866
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
3409
3867
  # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
3410
- # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
3411
- # asset-inventory/docs/supported-asset-types) for more information.
3868
+ # (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP
3869
+ # relationship). See [Supported asset types](https://cloud.google.com/asset-
3870
+ # inventory/docs/supported-asset-types) for more information.
3412
3871
  # Corresponds to the JSON property `priorAsset`
3413
3872
  # @return [Google::Apis::CloudassetV1::Asset]
3414
3873
  attr_accessor :prior_asset
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module CloudassetV1
18
18
  # Version of the google-apis-cloudasset_v1 gem
19
- GEM_VERSION = "0.2.0"
19
+ GEM_VERSION = "0.7.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
- GENERATOR_VERSION = "0.1.2"
22
+ GENERATOR_VERSION = "0.2.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20210129"
25
+ REVISION = "20210507"
26
26
  end
27
27
  end
28
28
  end
@@ -34,6 +34,12 @@ module Google
34
34
  include Google::Apis::Core::JsonObjectSupport
35
35
  end
36
36
 
37
+ class AnalyzeIamPolicyLongrunningResponse
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
37
43
  class AnalyzeIamPolicyResponse
38
44
  class Representation < Google::Apis::Core::JsonRepresentation; end
39
45
 
@@ -76,6 +82,18 @@ module Google
76
82
  include Google::Apis::Core::JsonObjectSupport
77
83
  end
78
84
 
85
+ class ConditionContext
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class ConditionEvaluation
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
79
97
  class CreateFeedRequest
80
98
  class Representation < Google::Apis::Core::JsonRepresentation; end
81
99
 
@@ -172,6 +190,36 @@ module Google
172
190
  include Google::Apis::Core::JsonObjectSupport
173
191
  end
174
192
 
193
+ class GoogleCloudAssetV1p7beta1Asset
194
+ class Representation < Google::Apis::Core::JsonRepresentation; end
195
+
196
+ include Google::Apis::Core::JsonObjectSupport
197
+ end
198
+
199
+ class GoogleCloudAssetV1p7beta1RelatedAsset
200
+ class Representation < Google::Apis::Core::JsonRepresentation; end
201
+
202
+ include Google::Apis::Core::JsonObjectSupport
203
+ end
204
+
205
+ class GoogleCloudAssetV1p7beta1RelatedAssets
206
+ class Representation < Google::Apis::Core::JsonRepresentation; end
207
+
208
+ include Google::Apis::Core::JsonObjectSupport
209
+ end
210
+
211
+ class GoogleCloudAssetV1p7beta1RelationshipAttributes
212
+ class Representation < Google::Apis::Core::JsonRepresentation; end
213
+
214
+ include Google::Apis::Core::JsonObjectSupport
215
+ end
216
+
217
+ class GoogleCloudAssetV1p7beta1Resource
218
+ class Representation < Google::Apis::Core::JsonRepresentation; end
219
+
220
+ include Google::Apis::Core::JsonObjectSupport
221
+ end
222
+
175
223
  class GoogleCloudOrgpolicyV1BooleanPolicy
176
224
  class Representation < Google::Apis::Core::JsonRepresentation; end
177
225
 
@@ -364,6 +412,12 @@ module Google
364
412
  include Google::Apis::Core::JsonObjectSupport
365
413
  end
366
414
 
415
+ class ListAssetsResponse
416
+ class Representation < Google::Apis::Core::JsonRepresentation; end
417
+
418
+ include Google::Apis::Core::JsonObjectSupport
419
+ end
420
+
367
421
  class ListFeedsResponse
368
422
  class Representation < Google::Apis::Core::JsonRepresentation; end
369
423
 
@@ -526,6 +580,12 @@ module Google
526
580
  end
527
581
  end
528
582
 
583
+ class AnalyzeIamPolicyLongrunningResponse
584
+ # @private
585
+ class Representation < Google::Apis::Core::JsonRepresentation
586
+ end
587
+ end
588
+
529
589
  class AnalyzeIamPolicyResponse
530
590
  # @private
531
591
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -608,6 +668,20 @@ module Google
608
668
  end
609
669
  end
610
670
 
671
+ class ConditionContext
672
+ # @private
673
+ class Representation < Google::Apis::Core::JsonRepresentation
674
+ property :access_time, as: 'accessTime'
675
+ end
676
+ end
677
+
678
+ class ConditionEvaluation
679
+ # @private
680
+ class Representation < Google::Apis::Core::JsonRepresentation
681
+ property :evaluation_value, as: 'evaluationValue'
682
+ end
683
+ end
684
+
611
685
  class CreateFeedRequest
612
686
  # @private
613
687
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -697,6 +771,8 @@ module Google
697
771
  class Representation < Google::Apis::Core::JsonRepresentation
698
772
  collection :accesses, as: 'accesses', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1Access, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1Access::Representation
699
773
 
774
+ property :condition_evaluation, as: 'conditionEvaluation', class: Google::Apis::CloudassetV1::ConditionEvaluation, decorator: Google::Apis::CloudassetV1::ConditionEvaluation::Representation
775
+
700
776
  collection :resource_edges, as: 'resourceEdges', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge::Representation
701
777
 
702
778
  collection :resources, as: 'resources', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1Resource, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1Resource::Representation
@@ -757,6 +833,72 @@ module Google
757
833
  end
758
834
  end
759
835
 
836
+ class GoogleCloudAssetV1p7beta1Asset
837
+ # @private
838
+ class Representation < Google::Apis::Core::JsonRepresentation
839
+ property :access_level, as: 'accessLevel', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel::Representation
840
+
841
+ property :access_policy, as: 'accessPolicy', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy::Representation
842
+
843
+ collection :ancestors, as: 'ancestors'
844
+ property :asset_type, as: 'assetType'
845
+ property :iam_policy, as: 'iamPolicy', class: Google::Apis::CloudassetV1::Policy, decorator: Google::Apis::CloudassetV1::Policy::Representation
846
+
847
+ property :name, as: 'name'
848
+ collection :org_policy, as: 'orgPolicy', class: Google::Apis::CloudassetV1::GoogleCloudOrgpolicyV1Policy, decorator: Google::Apis::CloudassetV1::GoogleCloudOrgpolicyV1Policy::Representation
849
+
850
+ property :related_assets, as: 'relatedAssets', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelatedAssets, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelatedAssets::Representation
851
+
852
+ property :resource, as: 'resource', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1Resource, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1Resource::Representation
853
+
854
+ property :service_perimeter, as: 'servicePerimeter', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter::Representation
855
+
856
+ property :update_time, as: 'updateTime'
857
+ end
858
+ end
859
+
860
+ class GoogleCloudAssetV1p7beta1RelatedAsset
861
+ # @private
862
+ class Representation < Google::Apis::Core::JsonRepresentation
863
+ collection :ancestors, as: 'ancestors'
864
+ property :asset, as: 'asset'
865
+ property :asset_type, as: 'assetType'
866
+ end
867
+ end
868
+
869
+ class GoogleCloudAssetV1p7beta1RelatedAssets
870
+ # @private
871
+ class Representation < Google::Apis::Core::JsonRepresentation
872
+ collection :assets, as: 'assets', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelatedAsset, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelatedAsset::Representation
873
+
874
+ property :relationship_attributes, as: 'relationshipAttributes', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelationshipAttributes, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelationshipAttributes::Representation
875
+
876
+ end
877
+ end
878
+
879
+ class GoogleCloudAssetV1p7beta1RelationshipAttributes
880
+ # @private
881
+ class Representation < Google::Apis::Core::JsonRepresentation
882
+ property :action, as: 'action'
883
+ property :source_resource_type, as: 'sourceResourceType'
884
+ property :target_resource_type, as: 'targetResourceType'
885
+ property :type, as: 'type'
886
+ end
887
+ end
888
+
889
+ class GoogleCloudAssetV1p7beta1Resource
890
+ # @private
891
+ class Representation < Google::Apis::Core::JsonRepresentation
892
+ hash :data, as: 'data'
893
+ property :discovery_document_uri, as: 'discoveryDocumentUri'
894
+ property :discovery_name, as: 'discoveryName'
895
+ property :location, as: 'location'
896
+ property :parent, as: 'parent'
897
+ property :resource_url, as: 'resourceUrl'
898
+ property :version, as: 'version'
899
+ end
900
+ end
901
+
760
902
  class GoogleCloudOrgpolicyV1BooleanPolicy
761
903
  # @private
762
904
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1019,6 +1161,8 @@ module Google
1019
1161
  class Representation < Google::Apis::Core::JsonRepresentation
1020
1162
  property :access_selector, as: 'accessSelector', class: Google::Apis::CloudassetV1::AccessSelector, decorator: Google::Apis::CloudassetV1::AccessSelector::Representation
1021
1163
 
1164
+ property :condition_context, as: 'conditionContext', class: Google::Apis::CloudassetV1::ConditionContext, decorator: Google::Apis::CloudassetV1::ConditionContext::Representation
1165
+
1022
1166
  property :identity_selector, as: 'identitySelector', class: Google::Apis::CloudassetV1::IdentitySelector, decorator: Google::Apis::CloudassetV1::IdentitySelector::Representation
1023
1167
 
1024
1168
  property :options, as: 'options', class: Google::Apis::CloudassetV1::Options, decorator: Google::Apis::CloudassetV1::Options::Representation
@@ -1095,6 +1239,16 @@ module Google
1095
1239
  end
1096
1240
  end
1097
1241
 
1242
+ class ListAssetsResponse
1243
+ # @private
1244
+ class Representation < Google::Apis::Core::JsonRepresentation
1245
+ collection :assets, as: 'assets', class: Google::Apis::CloudassetV1::Asset, decorator: Google::Apis::CloudassetV1::Asset::Representation
1246
+
1247
+ property :next_page_token, as: 'nextPageToken'
1248
+ property :read_time, as: 'readTime'
1249
+ end
1250
+ end
1251
+
1098
1252
  class ListFeedsResponse
1099
1253
  # @private
1100
1254
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1212,6 +1366,8 @@ module Google
1212
1366
  property :name, as: 'name'
1213
1367
  collection :network_tags, as: 'networkTags'
1214
1368
  property :organization, as: 'organization'
1369
+ property :parent_asset_type, as: 'parentAssetType'
1370
+ property :parent_full_resource_name, as: 'parentFullResourceName'
1215
1371
  property :project, as: 'project'
1216
1372
  property :state, as: 'state'
1217
1373
  property :update_time, as: 'updateTime'
@@ -49,6 +49,73 @@ module Google
49
49
  @batch_path = 'batch'
50
50
  end
51
51
 
52
+ # Lists assets with time and resource types and returns paged results in
53
+ # response.
54
+ # @param [String] parent
55
+ # Required. Name of the organization or project the assets belong to. Format: "
56
+ # organizations/[organization-number]" (such as "organizations/123"), "projects/[
57
+ # project-number]" (such as "projects/my-project-id"), or "projects/[project-id]"
58
+ # (such as "projects/12345").
59
+ # @param [Array<String>, String] asset_types
60
+ # A list of asset types to take a snapshot for. For example: "compute.googleapis.
61
+ # com/Disk". Regular expression is also supported. For example: * "compute.
62
+ # googleapis.com.*" snapshots resources whose asset type starts with "compute.
63
+ # googleapis.com". * ".*Instance" snapshots resources whose asset type ends with
64
+ # "Instance". * ".*Instance.*" snapshots resources whose asset type contains "
65
+ # Instance". See [RE2](https://github.com/google/re2/wiki/Syntax) for all
66
+ # supported regular expression syntax. If the regular expression does not match
67
+ # any supported asset type, an INVALID_ARGUMENT error will be returned. If
68
+ # specified, only matching assets will be returned, otherwise, it will snapshot
69
+ # all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.
70
+ # google.com/asset-inventory/docs/overview) for all supported asset types.
71
+ # @param [String] content_type
72
+ # Asset content type. If not specified, no content but the asset name will be
73
+ # returned.
74
+ # @param [Fixnum] page_size
75
+ # The maximum number of assets to be returned in a single response. Default is
76
+ # 100, minimum is 1, and maximum is 1000.
77
+ # @param [String] page_token
78
+ # The `next_page_token` returned from the previous `ListAssetsResponse`, or
79
+ # unspecified for the first `ListAssetsRequest`. It is a continuation of a prior
80
+ # `ListAssets` call, and the API should return the next page of assets.
81
+ # @param [String] read_time
82
+ # Timestamp to take an asset snapshot. This can only be set to a timestamp
83
+ # between the current time and the current time minus 35 days (inclusive). If
84
+ # not specified, the current time will be used. Due to delays in resource data
85
+ # collection and indexing, there is a volatile window during which running the
86
+ # same query may get different results.
87
+ # @param [String] fields
88
+ # Selector specifying which fields to include in a partial response.
89
+ # @param [String] quota_user
90
+ # Available to use for quota purposes for server-side applications. Can be any
91
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
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::CloudassetV1::ListAssetsResponse] parsed result object
97
+ # @yieldparam err [StandardError] error object if request failed
98
+ #
99
+ # @return [Google::Apis::CloudassetV1::ListAssetsResponse]
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 list_assets(parent, asset_types: nil, content_type: nil, page_size: nil, page_token: nil, read_time: nil, fields: nil, quota_user: nil, options: nil, &block)
105
+ command = make_simple_command(:get, 'v1/{+parent}/assets', options)
106
+ command.response_representation = Google::Apis::CloudassetV1::ListAssetsResponse::Representation
107
+ command.response_class = Google::Apis::CloudassetV1::ListAssetsResponse
108
+ command.params['parent'] = parent unless parent.nil?
109
+ command.query['assetTypes'] = asset_types unless asset_types.nil?
110
+ command.query['contentType'] = content_type unless content_type.nil?
111
+ command.query['pageSize'] = page_size unless page_size.nil?
112
+ command.query['pageToken'] = page_token unless page_token.nil?
113
+ command.query['readTime'] = read_time unless read_time.nil?
114
+ command.query['fields'] = fields unless fields.nil?
115
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
116
+ execute_or_queue_command(command, &block)
117
+ end
118
+
52
119
  # Creates a feed in a parent project/folder/organization to listen to its asset
53
120
  # updates.
54
121
  # @param [String] parent
@@ -266,6 +333,10 @@ module Google
266
333
  # Optional. The permissions to appear in result.
267
334
  # @param [Array<String>, String] analysis_query_access_selector_roles
268
335
  # Optional. The roles to appear in result.
336
+ # @param [String] analysis_query_condition_context_access_time
337
+ # The hypothetical access timestamp to evaluate IAM conditions. Note that this
338
+ # value must not be earlier than the current time; otherwise, an
339
+ # INVALID_ARGUMENT error will be returned.
269
340
  # @param [String] analysis_query_identity_selector_identity
270
341
  # Required. The identity appear in the form of members in [IAM policy binding](
271
342
  # https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of
@@ -352,13 +423,14 @@ module Google
352
423
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
353
424
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
354
425
  # @raise [Google::Apis::AuthorizationError] Authorization is required
355
- def analyze_iam_policy(scope, analysis_query_access_selector_permissions: nil, analysis_query_access_selector_roles: nil, analysis_query_identity_selector_identity: nil, analysis_query_options_analyze_service_account_impersonation: nil, analysis_query_options_expand_groups: nil, analysis_query_options_expand_resources: nil, analysis_query_options_expand_roles: nil, analysis_query_options_output_group_edges: nil, analysis_query_options_output_resource_edges: nil, analysis_query_resource_selector_full_resource_name: nil, execution_timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
426
+ def analyze_iam_policy(scope, analysis_query_access_selector_permissions: nil, analysis_query_access_selector_roles: nil, analysis_query_condition_context_access_time: nil, analysis_query_identity_selector_identity: nil, analysis_query_options_analyze_service_account_impersonation: nil, analysis_query_options_expand_groups: nil, analysis_query_options_expand_resources: nil, analysis_query_options_expand_roles: nil, analysis_query_options_output_group_edges: nil, analysis_query_options_output_resource_edges: nil, analysis_query_resource_selector_full_resource_name: nil, execution_timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
356
427
  command = make_simple_command(:get, 'v1/{+scope}:analyzeIamPolicy', options)
357
428
  command.response_representation = Google::Apis::CloudassetV1::AnalyzeIamPolicyResponse::Representation
358
429
  command.response_class = Google::Apis::CloudassetV1::AnalyzeIamPolicyResponse
359
430
  command.params['scope'] = scope unless scope.nil?
360
431
  command.query['analysisQuery.accessSelector.permissions'] = analysis_query_access_selector_permissions unless analysis_query_access_selector_permissions.nil?
361
432
  command.query['analysisQuery.accessSelector.roles'] = analysis_query_access_selector_roles unless analysis_query_access_selector_roles.nil?
433
+ command.query['analysisQuery.conditionContext.accessTime'] = analysis_query_condition_context_access_time unless analysis_query_condition_context_access_time.nil?
362
434
  command.query['analysisQuery.identitySelector.identity'] = analysis_query_identity_selector_identity unless analysis_query_identity_selector_identity.nil?
363
435
  command.query['analysisQuery.options.analyzeServiceAccountImpersonation'] = analysis_query_options_analyze_service_account_impersonation unless analysis_query_options_analyze_service_account_impersonation.nil?
364
436
  command.query['analysisQuery.options.expandGroups'] = analysis_query_options_expand_groups unless analysis_query_options_expand_groups.nil?
@@ -657,17 +729,19 @@ module Google
657
729
  # prod". * `labels.env:*` to find Cloud resources that have a label "env". * `
658
730
  # kmsKey:key` to find Cloud resources encrypted with a customer-managed
659
731
  # encryption key whose name contains the word "key". * `state:ACTIVE` to find
660
- # Cloud resources whose state contains "ACTIVE" as a word. * `createTime<
661
- # 1609459200` to find Cloud resources that were created before "2021-01-01 00:00:
662
- # 00 UTC". 1609459200 is the epoch timestamp of "2021-01-01 00:00:00 UTC" in
663
- # seconds. * `updateTime>1609459200` to find Cloud resources that were updated
664
- # after "2021-01-01 00:00:00 UTC". 1609459200 is the epoch timestamp of "2021-01-
665
- # 01 00:00:00 UTC" in seconds. * `Important` to find Cloud resources that
666
- # contain "Important" as a word in any of the searchable fields. * `Impor*` to
667
- # find Cloud resources that contain "Impor" as a prefix of any word in any of
668
- # the searchable fields. * `Important location:(us-west1 OR global)` to find
669
- # Cloud resources that contain "Important" as a word in any of the searchable
670
- # fields and are also located in the "us-west1" region or the "global" location.
732
+ # Cloud resources whose state contains "ACTIVE" as a word. * `NOT state:ACTIVE`
733
+ # to find ``gcp_name`` resources whose state doesn't contain "ACTIVE" as a word.
734
+ # * `createTime<1609459200` to find Cloud resources that were created before "
735
+ # 2021-01-01 00:00:00 UTC". 1609459200 is the epoch timestamp of "2021-01-01 00:
736
+ # 00:00 UTC" in seconds. * `updateTime>1609459200` to find Cloud resources that
737
+ # were updated after "2021-01-01 00:00:00 UTC". 1609459200 is the epoch
738
+ # timestamp of "2021-01-01 00:00:00 UTC" in seconds. * `Important` to find Cloud
739
+ # resources that contain "Important" as a word in any of the searchable fields. *
740
+ # `Impor*` to find Cloud resources that contain "Impor" as a prefix of any word
741
+ # in any of the searchable fields. * `Important location:(us-west1 OR global)`
742
+ # to find Cloud resources that contain "Important" as a word in any of the
743
+ # searchable fields and are also located in the "us-west1" region or the "global"
744
+ # location.
671
745
  # @param [String] fields
672
746
  # Selector specifying which fields to include in a partial response.
673
747
  # @param [String] quota_user
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-cloudasset_v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-08 00:00:00.000000000 Z
11
+ date: 2021-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -52,7 +52,7 @@ licenses:
52
52
  metadata:
53
53
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
54
54
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-cloudasset_v1/CHANGELOG.md
55
- documentation_uri: https://googleapis.dev/ruby/google-apis-cloudasset_v1/v0.2.0
55
+ documentation_uri: https://googleapis.dev/ruby/google-apis-cloudasset_v1/v0.7.0
56
56
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-cloudasset_v1
57
57
  post_install_message:
58
58
  rdoc_options: []
@@ -62,14 +62,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
62
62
  requirements:
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: '2.4'
65
+ version: '2.5'
66
66
  required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  requirements: []
72
- rubygems_version: 3.2.6
72
+ rubygems_version: 3.2.17
73
73
  signing_key:
74
74
  specification_version: 4
75
75
  summary: Simple REST client for Cloud Asset API V1