feat: Add client library support for AssetService v1 BatchGetEffectiveIamPolicies API

Committer: haochunzhang@

PiperOrigin-RevId: 466134014
This commit is contained in:
Google APIs 2022-08-08 13:35:18 -07:00 committed by Copybara-Service
parent d89cf3d2ba
commit 63c73fb06e
4 changed files with 55 additions and 28 deletions

View file

@ -856,6 +856,14 @@ message SearchAllResourcesRequest {
// * `labels.env:*` to find Cloud resources that have a label "env".
// * `kmsKey:key` to find Cloud resources encrypted with a customer-managed
// encryption key whose name contains the word "key".
// * `relationships:instance-group-1` to find Cloud resources that have
// relationships with "instance-group-1" in the related resource name.
// * `relationships:INSTANCE_TO_INSTANCEGROUP` to find compute instances that
// have relationships of type "INSTANCE_TO_INSTANCEGROUP".
// * `relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1` to find
// compute instances that have relationships with "instance-group-1" in the
// compute instance group resource name, for relationship type
// "INSTANCE_TO_INSTANCEGROUP".
// * `state:ACTIVE` to find Cloud resources whose state contains "ACTIVE" as a
// word.
// * `NOT state:ACTIVE` to find Cloud resources whose state doesn't contain
@ -999,8 +1007,8 @@ message SearchAllIamPoliciesRequest {
// compared against each Cloud IAM policy binding, including its principals,
// roles, and Cloud IAM conditions. The returned Cloud IAM policies will only
// contain the bindings that match your query. To learn more about the IAM
// policy structure, see [IAM policy
// doc](https://cloud.google.com/iam/docs/policies#structure).
// policy structure, see the [IAM policy
// documentation](https://cloud.google.com/iam/help/allow-policies/structure).
//
// Examples:
//
@ -1730,30 +1738,6 @@ message MoveImpact {
string detail = 1;
}
// Asset content type.
enum ContentType {
// Unspecified content type.
CONTENT_TYPE_UNSPECIFIED = 0;
// Resource metadata.
RESOURCE = 1;
// The actual IAM policy set on a resource.
IAM_POLICY = 2;
// The Cloud Organization Policy set on an asset.
ORG_POLICY = 4;
// The Cloud Access context manager Policy set on an asset.
ACCESS_POLICY = 5;
// The runtime OS Inventory information.
OS_INVENTORY = 6;
// The related resources.
RELATIONSHIP = 7;
}
// A request message for
// [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies].
message BatchGetEffectiveIamPoliciesRequest {
@ -1841,3 +1825,27 @@ message BatchGetEffectiveIamPoliciesResponse {
// [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
repeated EffectiveIamPolicy policy_results = 2;
}
// Asset content type.
enum ContentType {
// Unspecified content type.
CONTENT_TYPE_UNSPECIFIED = 0;
// Resource metadata.
RESOURCE = 1;
// The actual IAM policy set on a resource.
IAM_POLICY = 2;
// The Cloud Organization Policy set on an asset.
ORG_POLICY = 4;
// The Cloud Access context manager Policy set on an asset.
ACCESS_POLICY = 5;
// The runtime OS Inventory information.
OS_INVENTORY = 6;
// The related resources.
RELATIONSHIP = 7;
}

View file

@ -128,8 +128,8 @@ message Asset {
// effectively policy is the union of both the policy set on this resource
// and each policy set on all of the resource's ancestry resource levels in
// the hierarchy. See
// [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for
// more information.
// [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance)
// for more information.
google.iam.v1.Policy iam_policy = 4;
// A representation of an [organization
@ -307,6 +307,7 @@ message RelatedAsset {
}
// A result of Resource Search, containing information of a cloud resource.
// Next ID: 29
message ResourceSearchResult {
// The full resource name of this resource. Example:
// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.

View file

@ -126,6 +126,23 @@
"UNAVAILABLE"
]
}
},
{
"name": [
{
"service": "google.cloud.asset.v1.AssetService",
"method": "BatchGetEffectiveIamPolicies"
}
],
"timeout": "300s",
"retryPolicy": {
"initialBackoff": "0.100s",
"maxBackoff": "60s",
"backoffMultiplier": 1.3,
"retryableStatusCodes": [
"UNAVAILABLE"
]
}
}
]
}

View file

@ -5,6 +5,7 @@ title: Cloud Asset API
apis:
- name: google.cloud.asset.v1.AssetService
- name: google.longrunning.Operations
types:
- name: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata