google-apis-cloudasset_v1 0.3.0 → 0.8.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: 7f1acf6282fa984e011f3ac787cddfac7095488391d249307c2f5ec0d5a6d9e6
4
- data.tar.gz: 141f49ede27cea29d82a4e6eda0fbed050a3049db8bb731f04653ee6d30eb244
3
+ metadata.gz: 450f9a28366fecd8b3eaaef7a700e380a0aa4b68a378c1c6c2576f741be3487d
4
+ data.tar.gz: 709ebd03deafa5a6393e41ad30df6c4d3296b0cccab8d76a6a67f3ec70bd8962
5
5
  SHA512:
6
- metadata.gz: e8bcce462c34522145b7735b0c9608ded6e57935692ba0a36011b6323153e1b1ebb8311781ae8a43e4b6c5b728dcdd7ea342ac3feb44b73fc57a292f218d1a3c
7
- data.tar.gz: 871835974e3ff8856929512bf7b3cbf9f418955dca3bd3b17860425e07b5d0924fd74ec17b4acd8d813dd12db8134571f13c20f6fe038b44d5fec70ff5aa88d0
6
+ metadata.gz: 524b7f5de245377fcbcf8a585a1b4eaf9efc9e8e8b84d8f1a702d8d7ba34a1d0f19b6149265c266ce80221ef9a8b68f367518f41c8d7997847e474774d94c179
7
+ data.tar.gz: 61889f0d53670fd0d7493fdfe80a795b206f86293b158fb94b5441c3aff1a3845532b54976fc712bc68275fc2d5afcb8d4a9824db65e0843fb11ffbb1aaceb91
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-cloudasset_v1
2
2
 
3
+ ### v0.8.0 (2021-05-20)
4
+
5
+ * Regenerated from discovery document revision 20210518
6
+ * Unspecified changes
7
+
8
+ ### v0.7.0 (2021-05-12)
9
+
10
+ * Regenerated from discovery document revision 20210507
11
+
12
+ ### v0.6.0 (2021-03-31)
13
+
14
+ * Regenerated from discovery document revision 20210326
15
+
16
+ ### v0.5.0 (2021-03-09)
17
+
18
+ * Regenerated from discovery document revision 20210305
19
+ * Regenerated using generator version 0.2.0
20
+
21
+ ### v0.4.0 (2021-03-04)
22
+
23
+ * Regenerated from discovery document revision 20210226
24
+
3
25
  ### v0.3.0 (2021-02-17)
4
26
 
5
27
  * Regenerated from discovery document revision 20210212
@@ -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
@@ -110,12 +123,33 @@ module Google
110
123
  end
111
124
  end
112
125
 
126
+ # The response message for resource move analysis.
127
+ class AnalyzeMoveResponse
128
+ include Google::Apis::Core::Hashable
129
+
130
+ # The list of analyses returned from performing the intended resource move
131
+ # analysis. The analysis is grouped by different Cloud services.
132
+ # Corresponds to the JSON property `moveAnalysis`
133
+ # @return [Array<Google::Apis::CloudassetV1::MoveAnalysis>]
134
+ attr_accessor :move_analysis
135
+
136
+ def initialize(**args)
137
+ update!(**args)
138
+ end
139
+
140
+ # Update properties of this object
141
+ def update!(**args)
142
+ @move_analysis = args[:move_analysis] if args.key?(:move_analysis)
143
+ end
144
+ end
145
+
113
146
  # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
114
147
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
115
148
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
116
149
  # 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.
150
+ # (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP
151
+ # relationship). See [Supported asset types](https://cloud.google.com/asset-
152
+ # inventory/docs/supported-asset-types) for more information.
119
153
  class Asset
120
154
  include Google::Apis::Core::Hashable
121
155
 
@@ -480,6 +514,46 @@ module Google
480
514
  end
481
515
  end
482
516
 
517
+ # The IAM conditions context.
518
+ class ConditionContext
519
+ include Google::Apis::Core::Hashable
520
+
521
+ # The hypothetical access timestamp to evaluate IAM conditions. Note that this
522
+ # value must not be earlier than the current time; otherwise, an
523
+ # INVALID_ARGUMENT error will be returned.
524
+ # Corresponds to the JSON property `accessTime`
525
+ # @return [String]
526
+ attr_accessor :access_time
527
+
528
+ def initialize(**args)
529
+ update!(**args)
530
+ end
531
+
532
+ # Update properties of this object
533
+ def update!(**args)
534
+ @access_time = args[:access_time] if args.key?(:access_time)
535
+ end
536
+ end
537
+
538
+ # The Condition evaluation.
539
+ class ConditionEvaluation
540
+ include Google::Apis::Core::Hashable
541
+
542
+ # The evaluation result.
543
+ # Corresponds to the JSON property `evaluationValue`
544
+ # @return [String]
545
+ attr_accessor :evaluation_value
546
+
547
+ def initialize(**args)
548
+ update!(**args)
549
+ end
550
+
551
+ # Update properties of this object
552
+ def update!(**args)
553
+ @evaluation_value = args[:evaluation_value] if args.key?(:evaluation_value)
554
+ end
555
+ end
556
+
483
557
  # Create asset feed request.
484
558
  class CreateFeedRequest
485
559
  include Google::Apis::Core::Hashable
@@ -763,7 +837,9 @@ module Google
763
837
  # The uri of the Cloud Storage object. It's the same uri that is used by gsutil.
764
838
  # Example: "gs://bucket_name/object_name". See [Viewing and Editing Object
765
839
  # Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for
766
- # more information.
840
+ # more information. If the specified Cloud Storage object already exists and
841
+ # there is no [hold](https://cloud.google.com/storage/docs/object-holds), it
842
+ # will be overwritten with the exported result.
767
843
  # Corresponds to the JSON property `uri`
768
844
  # @return [String]
769
845
  attr_accessor :uri
@@ -842,6 +918,11 @@ module Google
842
918
  # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Access>]
843
919
  attr_accessor :accesses
844
920
 
921
+ # The Condition evaluation.
922
+ # Corresponds to the JSON property `conditionEvaluation`
923
+ # @return [Google::Apis::CloudassetV1::ConditionEvaluation]
924
+ attr_accessor :condition_evaluation
925
+
845
926
  # Resource edges of the graph starting from the policy attached resource to any
846
927
  # descendant resources. The Edge.source_node contains the full resource name of
847
928
  # a parent resource and Edge.target_node contains the full resource name of a
@@ -865,6 +946,7 @@ module Google
865
946
  # Update properties of this object
866
947
  def update!(**args)
867
948
  @accesses = args[:accesses] if args.key?(:accesses)
949
+ @condition_evaluation = args[:condition_evaluation] if args.key?(:condition_evaluation)
868
950
  @resource_edges = args[:resource_edges] if args.key?(:resource_edges)
869
951
  @resources = args[:resources] if args.key?(:resources)
870
952
  end
@@ -954,9 +1036,11 @@ module Google
954
1036
  include Google::Apis::Core::Hashable
955
1037
 
956
1038
  # 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.
1039
+ # by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and Editing
1040
+ # Object Metadata](https://cloud.google.com/storage/docs/viewing-editing-
1041
+ # metadata) for more information. If the specified Cloud Storage object already
1042
+ # exists and there is no [hold](https://cloud.google.com/storage/docs/object-
1043
+ # holds), it will be overwritten with the analysis result.
960
1044
  # Corresponds to the JSON property `uri`
961
1045
  # @return [String]
962
1046
  attr_accessor :uri
@@ -1058,6 +1142,326 @@ module Google
1058
1142
  end
1059
1143
  end
1060
1144
 
1145
+ # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
1146
+ # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
1147
+ # platform-resource-hierarchy), a resource outside the Google Cloud resource
1148
+ # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
1149
+ # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
1150
+ # asset-inventory/docs/supported-asset-types) for more information.
1151
+ class GoogleCloudAssetV1p7beta1Asset
1152
+ include Google::Apis::Core::Hashable
1153
+
1154
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
1155
+ # services, along with a list of requirements necessary for the label to be
1156
+ # applied.
1157
+ # Corresponds to the JSON property `accessLevel`
1158
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel]
1159
+ attr_accessor :access_level
1160
+
1161
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
1162
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which define
1163
+ # regions of services able to freely pass data within a perimeter). An access
1164
+ # policy is globally visible within an organization, and the restrictions it
1165
+ # specifies apply to all projects within an organization.
1166
+ # Corresponds to the JSON property `accessPolicy`
1167
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy]
1168
+ attr_accessor :access_policy
1169
+
1170
+ # The ancestry path of an asset in Google Cloud [resource hierarchy](https://
1171
+ # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
1172
+ # represented as a list of relative resource names. An ancestry path starts with
1173
+ # the closest ancestor in the hierarchy and ends at root. If the asset is a
1174
+ # project, folder, or organization, the ancestry path starts from the asset
1175
+ # itself. Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
1176
+ # Corresponds to the JSON property `ancestors`
1177
+ # @return [Array<String>]
1178
+ attr_accessor :ancestors
1179
+
1180
+ # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported
1181
+ # asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-
1182
+ # types) for more information.
1183
+ # Corresponds to the JSON property `assetType`
1184
+ # @return [String]
1185
+ attr_accessor :asset_type
1186
+
1187
+ # An Identity and Access Management (IAM) policy, which specifies access
1188
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1189
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1190
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1191
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1192
+ # role or a user-created custom role. For some types of Google Cloud resources,
1193
+ # a `binding` can also specify a `condition`, which is a logical expression that
1194
+ # allows access to a resource only if the expression evaluates to `true`. A
1195
+ # condition can add constraints based on attributes of the request, the resource,
1196
+ # or both. To learn which resources support conditions in their IAM policies,
1197
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1198
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1199
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1200
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1201
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1202
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1203
+ # title": "expirable access", "description": "Does not grant access after Sep
1204
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1205
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1206
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1207
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1208
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1209
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1210
+ # description: Does not grant access after Sep 2020 expression: request.time <
1211
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1212
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1213
+ # google.com/iam/docs/).
1214
+ # Corresponds to the JSON property `iamPolicy`
1215
+ # @return [Google::Apis::CloudassetV1::Policy]
1216
+ attr_accessor :iam_policy
1217
+
1218
+ # The full name of the asset. Example: `//compute.googleapis.com/projects/
1219
+ # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
1220
+ # cloud.google.com/apis/design/resource_names#full_resource_name) for more
1221
+ # information.
1222
+ # Corresponds to the JSON property `name`
1223
+ # @return [String]
1224
+ attr_accessor :name
1225
+
1226
+ # A representation of an [organization policy](https://cloud.google.com/resource-
1227
+ # manager/docs/organization-policy/overview#organization_policy). There can be
1228
+ # more than one organization policy with different constraints set on a given
1229
+ # resource.
1230
+ # Corresponds to the JSON property `orgPolicy`
1231
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudOrgpolicyV1Policy>]
1232
+ attr_accessor :org_policy
1233
+
1234
+ # The detailed related assets with the `relationship_type`.
1235
+ # Corresponds to the JSON property `relatedAssets`
1236
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelatedAssets]
1237
+ attr_accessor :related_assets
1238
+
1239
+ # A representation of a Google Cloud resource.
1240
+ # Corresponds to the JSON property `resource`
1241
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1Resource]
1242
+ attr_accessor :resource
1243
+
1244
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
1245
+ # import and export data amongst themselves, but not export outside of the `
1246
+ # ServicePerimeter`. If a request with a source within this `ServicePerimeter`
1247
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
1248
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
1249
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google
1250
+ # Cloud project can only belong to a single regular Service Perimeter. Service
1251
+ # Perimeter Bridges can contain only Google Cloud projects as members, a single
1252
+ # Google Cloud project may belong to multiple Service Perimeter Bridges.
1253
+ # Corresponds to the JSON property `servicePerimeter`
1254
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
1255
+ attr_accessor :service_perimeter
1256
+
1257
+ # The last update timestamp of an asset. update_time is updated when create/
1258
+ # update/delete operation is performed.
1259
+ # Corresponds to the JSON property `updateTime`
1260
+ # @return [String]
1261
+ attr_accessor :update_time
1262
+
1263
+ def initialize(**args)
1264
+ update!(**args)
1265
+ end
1266
+
1267
+ # Update properties of this object
1268
+ def update!(**args)
1269
+ @access_level = args[:access_level] if args.key?(:access_level)
1270
+ @access_policy = args[:access_policy] if args.key?(:access_policy)
1271
+ @ancestors = args[:ancestors] if args.key?(:ancestors)
1272
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
1273
+ @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
1274
+ @name = args[:name] if args.key?(:name)
1275
+ @org_policy = args[:org_policy] if args.key?(:org_policy)
1276
+ @related_assets = args[:related_assets] if args.key?(:related_assets)
1277
+ @resource = args[:resource] if args.key?(:resource)
1278
+ @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
1279
+ @update_time = args[:update_time] if args.key?(:update_time)
1280
+ end
1281
+ end
1282
+
1283
+ # An asset identify in Google Cloud which contains its name, type and ancestors.
1284
+ # An asset can be any resource in the Google Cloud [resource hierarchy](https://
1285
+ # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a
1286
+ # resource outside the Google Cloud resource hierarchy (such as Google
1287
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
1288
+ # See [Supported asset types](https://cloud.google.com/asset-inventory/docs/
1289
+ # supported-asset-types) for more information.
1290
+ class GoogleCloudAssetV1p7beta1RelatedAsset
1291
+ include Google::Apis::Core::Hashable
1292
+
1293
+ # The ancestors of an asset in Google Cloud [resource hierarchy](https://cloud.
1294
+ # google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
1295
+ # represented as a list of relative resource names. An ancestry path starts with
1296
+ # the closest ancestor in the hierarchy and ends at root. Example: `["projects/
1297
+ # 123456789", "folders/5432", "organizations/1234"]`
1298
+ # Corresponds to the JSON property `ancestors`
1299
+ # @return [Array<String>]
1300
+ attr_accessor :ancestors
1301
+
1302
+ # The full name of the asset. Example: `//compute.googleapis.com/projects/
1303
+ # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
1304
+ # cloud.google.com/apis/design/resource_names#full_resource_name) for more
1305
+ # information.
1306
+ # Corresponds to the JSON property `asset`
1307
+ # @return [String]
1308
+ attr_accessor :asset
1309
+
1310
+ # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported
1311
+ # asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-
1312
+ # types) for more information.
1313
+ # Corresponds to the JSON property `assetType`
1314
+ # @return [String]
1315
+ attr_accessor :asset_type
1316
+
1317
+ def initialize(**args)
1318
+ update!(**args)
1319
+ end
1320
+
1321
+ # Update properties of this object
1322
+ def update!(**args)
1323
+ @ancestors = args[:ancestors] if args.key?(:ancestors)
1324
+ @asset = args[:asset] if args.key?(:asset)
1325
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
1326
+ end
1327
+ end
1328
+
1329
+ # The detailed related assets with the `relationship_type`.
1330
+ class GoogleCloudAssetV1p7beta1RelatedAssets
1331
+ include Google::Apis::Core::Hashable
1332
+
1333
+ # The peer resources of the relationship.
1334
+ # Corresponds to the JSON property `assets`
1335
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelatedAsset>]
1336
+ attr_accessor :assets
1337
+
1338
+ # The relationship attributes which include `type`, `source_resource_type`, `
1339
+ # target_resource_type` and `action`.
1340
+ # Corresponds to the JSON property `relationshipAttributes`
1341
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1p7beta1RelationshipAttributes]
1342
+ attr_accessor :relationship_attributes
1343
+
1344
+ def initialize(**args)
1345
+ update!(**args)
1346
+ end
1347
+
1348
+ # Update properties of this object
1349
+ def update!(**args)
1350
+ @assets = args[:assets] if args.key?(:assets)
1351
+ @relationship_attributes = args[:relationship_attributes] if args.key?(:relationship_attributes)
1352
+ end
1353
+ end
1354
+
1355
+ # The relationship attributes which include `type`, `source_resource_type`, `
1356
+ # target_resource_type` and `action`.
1357
+ class GoogleCloudAssetV1p7beta1RelationshipAttributes
1358
+ include Google::Apis::Core::Hashable
1359
+
1360
+ # The detail of the relationship, e.g. `contains`, `attaches`
1361
+ # Corresponds to the JSON property `action`
1362
+ # @return [String]
1363
+ attr_accessor :action
1364
+
1365
+ # The source asset type. Example: `compute.googleapis.com/Instance`
1366
+ # Corresponds to the JSON property `sourceResourceType`
1367
+ # @return [String]
1368
+ attr_accessor :source_resource_type
1369
+
1370
+ # The target asset type. Example: `compute.googleapis.com/Disk`
1371
+ # Corresponds to the JSON property `targetResourceType`
1372
+ # @return [String]
1373
+ attr_accessor :target_resource_type
1374
+
1375
+ # The unique identifier of the relationship type. Example: `
1376
+ # INSTANCE_TO_INSTANCEGROUP`
1377
+ # Corresponds to the JSON property `type`
1378
+ # @return [String]
1379
+ attr_accessor :type
1380
+
1381
+ def initialize(**args)
1382
+ update!(**args)
1383
+ end
1384
+
1385
+ # Update properties of this object
1386
+ def update!(**args)
1387
+ @action = args[:action] if args.key?(:action)
1388
+ @source_resource_type = args[:source_resource_type] if args.key?(:source_resource_type)
1389
+ @target_resource_type = args[:target_resource_type] if args.key?(:target_resource_type)
1390
+ @type = args[:type] if args.key?(:type)
1391
+ end
1392
+ end
1393
+
1394
+ # A representation of a Google Cloud resource.
1395
+ class GoogleCloudAssetV1p7beta1Resource
1396
+ include Google::Apis::Core::Hashable
1397
+
1398
+ # The content of the resource, in which some sensitive fields are removed and
1399
+ # may not be present.
1400
+ # Corresponds to the JSON property `data`
1401
+ # @return [Hash<String,Object>]
1402
+ attr_accessor :data
1403
+
1404
+ # The URL of the discovery document containing the resource's JSON schema.
1405
+ # Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This
1406
+ # value is unspecified for resources that do not have an API based on a
1407
+ # discovery document, such as Cloud Bigtable.
1408
+ # Corresponds to the JSON property `discoveryDocumentUri`
1409
+ # @return [String]
1410
+ attr_accessor :discovery_document_uri
1411
+
1412
+ # The JSON schema name listed in the discovery document. Example: `Project` This
1413
+ # value is unspecified for resources that do not have an API based on a
1414
+ # discovery document, such as Cloud Bigtable.
1415
+ # Corresponds to the JSON property `discoveryName`
1416
+ # @return [String]
1417
+ attr_accessor :discovery_name
1418
+
1419
+ # The location of the resource in Google Cloud, such as its zone and region. For
1420
+ # more information, see https://cloud.google.com/about/locations/.
1421
+ # Corresponds to the JSON property `location`
1422
+ # @return [String]
1423
+ attr_accessor :location
1424
+
1425
+ # The full name of the immediate parent of this resource. See [Resource Names](
1426
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name) for
1427
+ # more information. For Google Cloud assets, this value is the parent resource
1428
+ # defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/
1429
+ # overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/
1430
+ # projects/my_project_123` For third-party assets, this field may be set
1431
+ # differently.
1432
+ # Corresponds to the JSON property `parent`
1433
+ # @return [String]
1434
+ attr_accessor :parent
1435
+
1436
+ # The REST URL for accessing the resource. An HTTP `GET` request using this URL
1437
+ # returns the resource itself. Example: `https://cloudresourcemanager.googleapis.
1438
+ # com/v1/projects/my-project-123` This value is unspecified for resources
1439
+ # without a REST API.
1440
+ # Corresponds to the JSON property `resourceUrl`
1441
+ # @return [String]
1442
+ attr_accessor :resource_url
1443
+
1444
+ # The API version. Example: `v1`
1445
+ # Corresponds to the JSON property `version`
1446
+ # @return [String]
1447
+ attr_accessor :version
1448
+
1449
+ def initialize(**args)
1450
+ update!(**args)
1451
+ end
1452
+
1453
+ # Update properties of this object
1454
+ def update!(**args)
1455
+ @data = args[:data] if args.key?(:data)
1456
+ @discovery_document_uri = args[:discovery_document_uri] if args.key?(:discovery_document_uri)
1457
+ @discovery_name = args[:discovery_name] if args.key?(:discovery_name)
1458
+ @location = args[:location] if args.key?(:location)
1459
+ @parent = args[:parent] if args.key?(:parent)
1460
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
1461
+ @version = args[:version] if args.key?(:version)
1462
+ end
1463
+ end
1464
+
1061
1465
  # Used in `policy_type` to specify how `boolean_policy` will behave at this
1062
1466
  # resource.
1063
1467
  class GoogleCloudOrgpolicyV1BooleanPolicy
@@ -1663,9 +2067,9 @@ module Google
1663
2067
 
1664
2068
  # Defines the conditions under which an EgressPolicy matches a request.
1665
2069
  # 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.
2070
+ # the destination of the request is also protected by a ServicePerimeter, then
2071
+ # that ServicePerimeter must have an IngressPolicy which allows access in order
2072
+ # for this request to succeed.
1669
2073
  class GoogleIdentityAccesscontextmanagerV1EgressFrom
1670
2074
  include Google::Apis::Core::Hashable
1671
2075
 
@@ -1711,9 +2115,9 @@ module Google
1711
2115
 
1712
2116
  # Defines the conditions under which an EgressPolicy matches a request.
1713
2117
  # 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.
2118
+ # the destination of the request is also protected by a ServicePerimeter, then
2119
+ # that ServicePerimeter must have an IngressPolicy which allows access in order
2120
+ # for this request to succeed.
1717
2121
  # Corresponds to the JSON property `egressFrom`
1718
2122
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressFrom]
1719
2123
  attr_accessor :egress_from
@@ -1721,8 +2125,10 @@ module Google
1721
2125
  # Defines the conditions under which an EgressPolicy matches a request.
1722
2126
  # Conditions are based on information about the ApiOperation intended to be
1723
2127
  # 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.
2128
+ # request is also protected by a ServicePerimeter, then that ServicePerimeter
2129
+ # must have an IngressPolicy which allows access in order for this request to
2130
+ # succeed. The request must match `operations` AND `resources` fields in order
2131
+ # to be allowed egress out of the perimeter.
1726
2132
  # Corresponds to the JSON property `egressTo`
1727
2133
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressTo]
1728
2134
  attr_accessor :egress_to
@@ -1741,21 +2147,25 @@ module Google
1741
2147
  # Defines the conditions under which an EgressPolicy matches a request.
1742
2148
  # Conditions are based on information about the ApiOperation intended to be
1743
2149
  # 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.
2150
+ # request is also protected by a ServicePerimeter, then that ServicePerimeter
2151
+ # must have an IngressPolicy which allows access in order for this request to
2152
+ # succeed. The request must match `operations` AND `resources` fields in order
2153
+ # to be allowed egress out of the perimeter.
1746
2154
  class GoogleIdentityAccesscontextmanagerV1EgressTo
1747
2155
  include Google::Apis::Core::Hashable
1748
2156
 
1749
- # A list of ApiOperations that this egress rule applies to. A request matches if
1750
- # it contains an operation/service in this list.
2157
+ # A list of ApiOperations allowed to be performed by the sources specified in
2158
+ # the corresponding EgressFrom. A request matches if it uses an operation/
2159
+ # service in this list.
1751
2160
  # Corresponds to the JSON property `operations`
1752
2161
  # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1753
2162
  attr_accessor :operations
1754
2163
 
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.
2164
+ # A list of resources, currently only projects in the form `projects/`, that are
2165
+ # allowed to be accessed by sources defined in the corresponding EgressFrom. A
2166
+ # request matches if it contains a resource in this list. If `*` is specified
2167
+ # for `resources`, then this EgressTo rule will authorize access to all
2168
+ # resources outside the perimeter.
1759
2169
  # Corresponds to the JSON property `resources`
1760
2170
  # @return [Array<String>]
1761
2171
  attr_accessor :resources
@@ -1772,7 +2182,9 @@ module Google
1772
2182
  end
1773
2183
 
1774
2184
  # Defines the conditions under which an IngressPolicy matches a request.
1775
- # Conditions are based on information about the source of the request.
2185
+ # Conditions are based on information about the source of the request. The
2186
+ # request must satisfy what is defined in `sources` AND identity related fields
2187
+ # in order to match.
1776
2188
  class GoogleIdentityAccesscontextmanagerV1IngressFrom
1777
2189
  include Google::Apis::Core::Hashable
1778
2190
 
@@ -1821,14 +2233,17 @@ module Google
1821
2233
  include Google::Apis::Core::Hashable
1822
2234
 
1823
2235
  # Defines the conditions under which an IngressPolicy matches a request.
1824
- # Conditions are based on information about the source of the request.
2236
+ # Conditions are based on information about the source of the request. The
2237
+ # request must satisfy what is defined in `sources` AND identity related fields
2238
+ # in order to match.
1825
2239
  # Corresponds to the JSON property `ingressFrom`
1826
2240
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressFrom]
1827
2241
  attr_accessor :ingress_from
1828
2242
 
1829
2243
  # Defines the conditions under which an IngressPolicy matches a request.
1830
2244
  # Conditions are based on information about the ApiOperation intended to be
1831
- # performed on the destination of the request.
2245
+ # performed on the target resource of the request. The request must satisfy what
2246
+ # is defined in `operations` AND `resources` in order to match.
1832
2247
  # Corresponds to the JSON property `ingressTo`
1833
2248
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressTo]
1834
2249
  attr_accessor :ingress_to
@@ -1854,7 +2269,8 @@ module Google
1854
2269
  # cause an error. If no AccessLevel names are listed, resources within the
1855
2270
  # perimeter can only be accessed via Google Cloud calls with request origins
1856
2271
  # within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`
1857
- # . If `*` is specified, then all IngressSources will be allowed.
2272
+ # . If a single `*` is specified for `access_level`, then all IngressSources
2273
+ # will be allowed.
1858
2274
  # Corresponds to the JSON property `accessLevel`
1859
2275
  # @return [String]
1860
2276
  attr_accessor :access_level
@@ -1882,22 +2298,21 @@ module Google
1882
2298
 
1883
2299
  # Defines the conditions under which an IngressPolicy matches a request.
1884
2300
  # Conditions are based on information about the ApiOperation intended to be
1885
- # performed on the destination of the request.
2301
+ # performed on the target resource of the request. The request must satisfy what
2302
+ # is defined in `operations` AND `resources` in order to match.
1886
2303
  class GoogleIdentityAccesscontextmanagerV1IngressTo
1887
2304
  include Google::Apis::Core::Hashable
1888
2305
 
1889
- # A list of ApiOperations the sources specified in corresponding IngressFrom are
1890
- # allowed to perform in this ServicePerimeter.
2306
+ # A list of ApiOperations allowed to be performed by the sources specified in
2307
+ # corresponding IngressFrom in this ServicePerimeter.
1891
2308
  # Corresponds to the JSON property `operations`
1892
2309
  # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1893
2310
  attr_accessor :operations
1894
2311
 
1895
2312
  # A list of resources, currently only projects in the form `projects/`,
1896
2313
  # 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.
2314
+ # defined in the corresponding IngressFrom. If a single `*` is specified, then
2315
+ # access to all resources inside the perimeter are allowed.
1901
2316
  # Corresponds to the JSON property `resources`
1902
2317
  # @return [Array<String>]
1903
2318
  attr_accessor :resources
@@ -2228,6 +2643,11 @@ module Google
2228
2643
  # @return [Google::Apis::CloudassetV1::AccessSelector]
2229
2644
  attr_accessor :access_selector
2230
2645
 
2646
+ # The IAM conditions context.
2647
+ # Corresponds to the JSON property `conditionContext`
2648
+ # @return [Google::Apis::CloudassetV1::ConditionContext]
2649
+ attr_accessor :condition_context
2650
+
2231
2651
  # Specifies an identity for which to determine resource access, based on roles
2232
2652
  # assigned either directly to them or to the groups they belong to, directly or
2233
2653
  # indirectly.
@@ -2267,6 +2687,7 @@ module Google
2267
2687
  # Update properties of this object
2268
2688
  def update!(**args)
2269
2689
  @access_selector = args[:access_selector] if args.key?(:access_selector)
2690
+ @condition_context = args[:condition_context] if args.key?(:condition_context)
2270
2691
  @identity_selector = args[:identity_selector] if args.key?(:identity_selector)
2271
2692
  @options = args[:options] if args.key?(:options)
2272
2693
  @resource_selector = args[:resource_selector] if args.key?(:resource_selector)
@@ -2532,6 +2953,39 @@ module Google
2532
2953
  end
2533
2954
  end
2534
2955
 
2956
+ # ListAssets response.
2957
+ class ListAssetsResponse
2958
+ include Google::Apis::Core::Hashable
2959
+
2960
+ # Assets.
2961
+ # Corresponds to the JSON property `assets`
2962
+ # @return [Array<Google::Apis::CloudassetV1::Asset>]
2963
+ attr_accessor :assets
2964
+
2965
+ # Token to retrieve the next page of results. It expires 72 hours after the page
2966
+ # token for the first page is generated. Set to empty if there are no remaining
2967
+ # results.
2968
+ # Corresponds to the JSON property `nextPageToken`
2969
+ # @return [String]
2970
+ attr_accessor :next_page_token
2971
+
2972
+ # Time the snapshot was taken.
2973
+ # Corresponds to the JSON property `readTime`
2974
+ # @return [String]
2975
+ attr_accessor :read_time
2976
+
2977
+ def initialize(**args)
2978
+ update!(**args)
2979
+ end
2980
+
2981
+ # Update properties of this object
2982
+ def update!(**args)
2983
+ @assets = args[:assets] if args.key?(:assets)
2984
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2985
+ @read_time = args[:read_time] if args.key?(:read_time)
2986
+ end
2987
+ end
2988
+
2535
2989
  #
2536
2990
  class ListFeedsResponse
2537
2991
  include Google::Apis::Core::Hashable
@@ -2551,6 +3005,90 @@ module Google
2551
3005
  end
2552
3006
  end
2553
3007
 
3008
+ # A message to group the analysis information.
3009
+ class MoveAnalysis
3010
+ include Google::Apis::Core::Hashable
3011
+
3012
+ # An analysis result including blockers and warnings.
3013
+ # Corresponds to the JSON property `analysis`
3014
+ # @return [Google::Apis::CloudassetV1::MoveAnalysisResult]
3015
+ attr_accessor :analysis
3016
+
3017
+ # The user friendly display name of the analysis. E.g. IAM, Organization Policy
3018
+ # etc.
3019
+ # Corresponds to the JSON property `displayName`
3020
+ # @return [String]
3021
+ attr_accessor :display_name
3022
+
3023
+ # The `Status` type defines a logical error model that is suitable for different
3024
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3025
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3026
+ # data: error code, error message, and error details. You can find out more
3027
+ # about this error model and how to work with it in the [API Design Guide](https:
3028
+ # //cloud.google.com/apis/design/errors).
3029
+ # Corresponds to the JSON property `error`
3030
+ # @return [Google::Apis::CloudassetV1::Status]
3031
+ attr_accessor :error
3032
+
3033
+ def initialize(**args)
3034
+ update!(**args)
3035
+ end
3036
+
3037
+ # Update properties of this object
3038
+ def update!(**args)
3039
+ @analysis = args[:analysis] if args.key?(:analysis)
3040
+ @display_name = args[:display_name] if args.key?(:display_name)
3041
+ @error = args[:error] if args.key?(:error)
3042
+ end
3043
+ end
3044
+
3045
+ # An analysis result including blockers and warnings.
3046
+ class MoveAnalysisResult
3047
+ include Google::Apis::Core::Hashable
3048
+
3049
+ # Blocking information that would prevent the target resource from moving to the
3050
+ # specified destination at runtime.
3051
+ # Corresponds to the JSON property `blockers`
3052
+ # @return [Array<Google::Apis::CloudassetV1::MoveImpact>]
3053
+ attr_accessor :blockers
3054
+
3055
+ # Warning information indicating that moving the target resource to the
3056
+ # specified destination might be unsafe. This can include important policy
3057
+ # information and configuration changes, but will not block moves at runtime.
3058
+ # Corresponds to the JSON property `warnings`
3059
+ # @return [Array<Google::Apis::CloudassetV1::MoveImpact>]
3060
+ attr_accessor :warnings
3061
+
3062
+ def initialize(**args)
3063
+ update!(**args)
3064
+ end
3065
+
3066
+ # Update properties of this object
3067
+ def update!(**args)
3068
+ @blockers = args[:blockers] if args.key?(:blockers)
3069
+ @warnings = args[:warnings] if args.key?(:warnings)
3070
+ end
3071
+ end
3072
+
3073
+ # A message to group impacts of moving the target resource.
3074
+ class MoveImpact
3075
+ include Google::Apis::Core::Hashable
3076
+
3077
+ # User friendly impact detail in a free form message.
3078
+ # Corresponds to the JSON property `detail`
3079
+ # @return [String]
3080
+ attr_accessor :detail
3081
+
3082
+ def initialize(**args)
3083
+ update!(**args)
3084
+ end
3085
+
3086
+ # Update properties of this object
3087
+ def update!(**args)
3088
+ @detail = args[:detail] if args.key?(:detail)
3089
+ end
3090
+ end
3091
+
2554
3092
  # This resource represents a long-running operation that is the result of a
2555
3093
  # network API call.
2556
3094
  class Operation
@@ -3042,8 +3580,10 @@ module Google
3042
3580
  # The create timestamp of this resource, at which the resource was created. The
3043
3581
  # granularity is in seconds. Timestamp.nanos will always be 0. This field is
3044
3582
  # 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`
3583
+ # create_time`: * use a field query. - value in seconds since unix epoch.
3584
+ # Example: `createTime > 1609459200` - value in date string. Example: `
3585
+ # createTime > 2021-01-01` - value in date-time string (must be quoted). Example:
3586
+ # `createTime > "2021-01-01T00:00:00"`
3047
3587
  # Corresponds to the JSON property `createTime`
3048
3588
  # @return [String]
3049
3589
  attr_accessor :create_time
@@ -3142,7 +3682,10 @@ module Google
3142
3682
  # @return [String]
3143
3683
  attr_accessor :parent_asset_type
3144
3684
 
3145
- # The full resource name of this resource's parent, if it has one.
3685
+ # The full resource name of this resource's parent, if it has one. To search
3686
+ # against the `parent_full_resource_name`: * use a field query. Example: `
3687
+ # parentFullResourceName:"project-name"` * use a free text query. Example: `
3688
+ # project-name`
3146
3689
  # Corresponds to the JSON property `parentFullResourceName`
3147
3690
  # @return [String]
3148
3691
  attr_accessor :parent_full_resource_name
@@ -3176,8 +3719,10 @@ module Google
3176
3719
  # The last update timestamp of this resource, at which the resource was last
3177
3720
  # modified or deleted. The granularity is in seconds. Timestamp.nanos will
3178
3721
  # always be 0. This field is available only when the resource's proto contains
3179
- # it. To search against `update_time`: * use a field query (value in seconds).
3180
- # Example: `updateTime < 1594294238`
3722
+ # it. To search against `update_time`: * use a field query. - value in seconds
3723
+ # since unix epoch. Example: `updateTime < 1609459200` - value in date string.
3724
+ # Example: `updateTime < 2021-01-01` - value in date-time string (must be quoted)
3725
+ # . Example: `updateTime < "2021-01-01T00:00:00"`
3181
3726
  # Corresponds to the JSON property `updateTime`
3182
3727
  # @return [String]
3183
3728
  attr_accessor :update_time
@@ -3407,8 +3952,9 @@ module Google
3407
3952
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
3408
3953
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
3409
3954
  # 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.
3955
+ # (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP
3956
+ # relationship). See [Supported asset types](https://cloud.google.com/asset-
3957
+ # inventory/docs/supported-asset-types) for more information.
3412
3958
  # Corresponds to the JSON property `asset`
3413
3959
  # @return [Google::Apis::CloudassetV1::Asset]
3414
3960
  attr_accessor :asset
@@ -3423,8 +3969,9 @@ module Google
3423
3969
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
3424
3970
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
3425
3971
  # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
3426
- # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
3427
- # asset-inventory/docs/supported-asset-types) for more information.
3972
+ # (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP
3973
+ # relationship). See [Supported asset types](https://cloud.google.com/asset-
3974
+ # inventory/docs/supported-asset-types) for more information.
3428
3975
  # Corresponds to the JSON property `priorAsset`
3429
3976
  # @return [Google::Apis::CloudassetV1::Asset]
3430
3977
  attr_accessor :prior_asset