google-apis-cloudasset_v1 0.3.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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