69 lines
3.0 KiB
YAML
69 lines
3.0 KiB
YAML
- release_tracks: [ALPHA]
|
|
help_text:
|
|
brief: Lint an IAM condition.
|
|
description: |
|
|
Lint an IAM condition. The problems found by linter will not be fixed.
|
|
Instead, it will show the problems.
|
|
examples: |
|
|
To lint an IAM condition of resource `//cloudresourcemanager.googleapis.com/v1/projects/example-project`,
|
|
and the condtion to lint is expression='true', title='title', description='description', run:
|
|
|
|
$ {command} --resource-name='//cloudresourcemanager.googleapis.com/v1/projects/example-project' --expression='true' --title='title' --description='description'
|
|
|
|
To lint an IAM condition of resource `//cloudresourcemanager.googleapis.com/v1/projects/example-project`,
|
|
and the condition is read from a local YAML file `condition.yaml`, run:
|
|
|
|
$ {command} --resource-name='//cloudresourcemanager.googleapis.com/v1/projects/example-project' --condition-from-file='condition.yaml'
|
|
request:
|
|
collection: iam.iamPolicies
|
|
method: lintPolicy
|
|
api_version: v1
|
|
modify_request_hooks:
|
|
- googlecloudsdk.command_lib.iam.hooks:UpdateRequestWithConditionFromFile
|
|
|
|
arguments:
|
|
params:
|
|
- arg_name: resource-name
|
|
api_field: fullResourceName
|
|
help_text: |
|
|
The full resource name of the policy containing the condition to lint.
|
|
See https://cloud.google.com/apis/design/resource_names for details.
|
|
|
|
To get a URI from most list commands in gcloud, pass the --uri flag.
|
|
For example:
|
|
|
|
$ gcloud compute instances list --project prj --uri
|
|
|
|
https://www.googleapis.com/compute/v1/projects/prj/zones/us-east1-c/instances/i1
|
|
https://www.googleapis.com/compute/v1/projects/prj/zones/us-east1-d/instances/i2
|
|
- group:
|
|
mutex: true
|
|
required: true
|
|
params:
|
|
- arg_name: condition-from-file
|
|
type: googlecloudsdk.command_lib.iam.hooks:ParseConditionFromFile
|
|
help_text: |
|
|
The path to a JSON or YAML file containing the condition.
|
|
See https://cloud.google.com/iam/docs/conditions-overview for schema of the condition.
|
|
- group:
|
|
help_text: |
|
|
The condition to lint. It must have an `expression` property and a `title` property.
|
|
The `description` property is optional.
|
|
params:
|
|
- arg_name: expression
|
|
api_field: condition.expression
|
|
required: true
|
|
help_text: |
|
|
The expression of the condition which evaluates to True or False. This uses a subset
|
|
of Common Expression Language syntax.
|
|
- arg_name: title
|
|
api_field: condition.title
|
|
required: true
|
|
help_text: |
|
|
A title for the expression, i.e. a short string describing its purpose.
|
|
- arg_name: description
|
|
api_field: condition.description
|
|
help_text: |
|
|
A description of the expression. This is a longer text which describes the
|
|
expression.
|