google-apis-cloudasset_v1 0.2.0 → 0.7.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: 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