<a id="cli-aws-ram-list-permissions"></a>

# list-permissions

## Description

Retrieves a list of available RAM permissions that you can use for the supported resource types.

#### NOTE
Always check the `NextToken` response parameter for a `null` value when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more results available. The `NextToken` response parameter value is `null`  *only* when there are no more results to display.

See also: [AWS API Documentation](https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPermissions)

## Synopsis

```
  list-permissions
[--resource-type <value>]
[--resource-owner <value>]
[--next-token <value>]
[--max-results <value>]
[--permission-type <value>]
[--permission-status <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
[--cli-error-format <value>]
[--help]
```

## Options

`--resource-type` (string)

> Specifies that you want to list only those permissions that apply to the specified resource type. This parameter is not case sensitive.

> For example, to list only permissions that apply to Amazon EC2 subnets, specify `ec2:subnet` . You can use the  ListResourceTypes operation to get the specific string required.

`--resource-owner` (string)

> Specifies that you want to list only permissions owned by a specific entity:

> * `SELF` – returns only permissions owned by the calling account.
> * `OTHER-ACCOUNTS` – returns only permissions shared with the calling account by other accounts.

> Possible values:

> * `SELF`
> * `OTHER-ACCOUNTS`

`--next-token` (string)

> Specifies that you want to receive the next page of results. Valid only if you received a `NextToken` response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call’s `NextToken` response to request the next page of results.

`--max-results` (integer)

> Specifies the total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the number you specify, the `NextToken` response element is returned with a value (not null). Include the specified value as the `NextToken` request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check `NextToken` after every operation to ensure that you receive all of the results.

> Constraints:

> * min: `1`
> * max: `500`

`--permission-type` (string)

> Specifies that you want to list only permissions of this type:

> * `AWS` – returns only Amazon Web Services managed permissions.
> * `LOCAL` – returns only customer managed permissions
> * `ALL` – returns both Amazon Web Services managed permissions and customer managed permissions.

> If you don’t specify this parameter, the default is `All` .

> Possible values:

> * `ALL`
> * `AWS_MANAGED`
> * `CUSTOMER_MANAGED`

`--permission-status` (string)

> Specifies that you want to filter the results to include only permissions with the specified status. For example, use `ATTACHABLE` to list only permissions that can be associated with resource shares, or `DEPRECATED` to list only deprecated permissions.

> Possible values:

> * `ATTACHABLE`
> * `UNATTACHABLE`
> * `DELETING`
> * `DELETED`
> * `DEPRECATED`

`--cli-input-json` | `--cli-input-yaml` (string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by `--generate-cli-skeleton`. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with `--cli-input-yaml`.

`--generate-cli-skeleton` (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value `input`, prints a sample input JSON that can be used as an argument for `--cli-input-json`. Similarly, if provided `yaml-input` it will print a sample input YAML that can be used with `--cli-input-yaml`. If provided with the value `output`, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.

## Global Options

`--debug` (boolean)

Turn on debug logging.

`--endpoint-url` (string)

Override command’s default URL with the given URL.

`--no-verify-ssl` (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

`--no-paginate` (boolean)

Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

`--output` (string)

The formatting style for command output.

* json
* text
* table
* yaml
* yaml-stream
* off

`--query` (string)

A JMESPath query to use in filtering the response data.

`--profile` (string)

Use a specific profile from your credential file.

`--region` (string)

The region to use. Overrides config/env settings.

`--version` (string)

Display the version of this tool.

`--color` (string)

Turn on/off color output.

* on
* off
* auto

`--no-sign-request` (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

`--ca-bundle` (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

`--cli-read-timeout` (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

`--cli-connect-timeout` (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

`--cli-binary-format` (string)

The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob `fileb://` will always be treated as binary and use the file contents directly regardless of the `cli-binary-format` setting. When using `file://` the file contents will need to properly formatted for the configured `cli-binary-format`.

* base64
* raw-in-base64-out

`--no-cli-pager` (boolean)

Disable cli pager for output.

`--cli-auto-prompt` (boolean)

Automatically prompt for CLI input parameters.

`--no-cli-auto-prompt` (boolean)

Disable automatically prompt for CLI input parameters.

`--cli-error-format` (string)

The formatting style for error output. By default, errors are displayed in enhanced format.

* legacy
* json
* yaml
* text
* table
* enhanced

`--help` (boolean)

Display help for the command/subcommand.

## Examples

#### NOTE
To use the following examples, you must have the AWS CLI installed and configured. See the [Getting started guide](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) in the *AWS CLI User Guide* for more information.

Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See [Using quotation marks with strings](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html) in the *AWS CLI User Guide* .

**To list the available RAM managed permissions**

The following `list-permissions` example lists all of the RAM managed permissions available for only the AWS Glue database resource type.

```bash
aws ram list-permissions \
    --resource-type glue:Database
```

Output:

```json
{
    "permissions": [
        {
            "arn": "arn:aws:ram::aws:permission/AWSRAMDefaultPermissionGlueDatabase",
            "version": "1",
            "defaultVersion": true,
            "name": "AWSRAMDefaultPermissionGlueDatabase",
            "resourceType": "glue:Database",
            "creationTime": 1592007820.935,
            "lastUpdatedTime": 1592007820.935,
            "isResourceTypeDefault": true
        },
        {
            "arn": "arn:aws:ram::aws:permission/AWSRAMPermissionGlueAllTablesReadWriteForDatabase",
            "version": "2",
            "defaultVersion": true,
            "name": "AWSRAMPermissionGlueAllTablesReadWriteForDatabase",
            "resourceType": "glue:Database",
            "creationTime": 1624912413.323,
            "lastUpdatedTime": 1624912413.323,
            "isResourceTypeDefault": false
        },
        {
            "arn": "arn:aws:ram::aws:permission/AWSRAMPermissionGlueDatabaseReadWrite",
            "version": "2",
            "defaultVersion": true,
            "name": "AWSRAMPermissionGlueDatabaseReadWrite",
            "resourceType": "glue:Database",
            "creationTime": 1624912417.4,
            "lastUpdatedTime": 1624912417.4,
            "isResourceTypeDefault": false
        },
        {
            "arn": "arn:aws:ram::aws:permission/AWSRAMPermissionGlueTableReadWriteForDatabase",
            "version": "2",
            "defaultVersion": true,
            "name": "AWSRAMPermissionGlueTableReadWriteForDatabase",
            "resourceType": "glue:Database",
            "creationTime": 1624912434.431,
            "lastUpdatedTime": 1624912434.431,
            "isResourceTypeDefault": false
        }
    ]
}
```

The following `list-permissions` example displays the available RAM managed permissions for all resource types.

```bash
aws ram list-permissions
```

Output:

```json
{
    "permissions": [
        {
            "arn": "arn:aws:ram::aws:permission/AWSRAMBlankEndEntityCertificateAPICSRPassthroughIssuanceCertificateAuthority",
            "version": "1",
            "defaultVersion": true,
            "name": "AWSRAMBlankEndEntityCertificateAPICSRPassthroughIssuanceCertificateAuthority",
            "resourceType": "acm-pca:CertificateAuthority",
            "creationTime": 1623264861.085,
            "lastUpdatedTime": 1623264861.085,
            "isResourceTypeDefault": false
        },
        {
            "arn": "arn:aws:ram::aws:permission/AWSRAMDefaultPermissionAppMesh",
            "version": "1",
            "defaultVersion": true,
            "name": "AWSRAMDefaultPermissionAppMesh",
            "resourceType": "appmesh:Mesh",
            "creationTime": 1589307188.584,
            "lastUpdatedTime": 1589307188.584,
            "isResourceTypeDefault": true
        },
        {
            "arn": "arn:aws:ram::aws:permission/AWSRAMSubordinateCACertificatePathLen0IssuanceCertificateAuthority",
            "version": "1",
            "defaultVersion": true,
            "name": "AWSRAMSubordinateCACertificatePathLen0IssuanceCertificateAuthority",
            "resourceType": "acm-pca:CertificateAuthority",
            "creationTime": 1623264876.75,
            "lastUpdatedTime": 1623264876.75,
            "isResourceTypeDefault": false
        }
    ]
}
```

For more information, see [Viewing managed permissions](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-view-permissions.html) in the *AWS RAM User Guide*.

## Output

permissions -> (list)

> An array of objects with information about the permissions.

> (structure)

> > Information about an RAM permission.

> > arn -> (string)

> > > The [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the permission you want information about.

> > version -> (string)

> > > The version of the permission associated with this resource share.

> > defaultVersion -> (boolean)

> > > Specifies whether the version of the managed permission used by this resource share is the default version for this managed permission.

> > name -> (string)

> > > The name of this managed permission.

> > resourceType -> (string)

> > > The type of resource to which this permission applies. This takes the form of: `service-code` :`resource-code` , and is case-insensitive. For example, an Amazon EC2 Subnet would be represented by the string `ec2:subnet` .

> > status -> (string)

> > > The current status of the permission.

> > creationTime -> (timestamp)

> > > The date and time when the permission was created.

> > lastUpdatedTime -> (timestamp)

> > > The date and time when the permission was last updated.

> > isResourceTypeDefault -> (boolean)

> > > Specifies whether the managed permission associated with this resource share is the default managed permission for all resources of this resource type.

> > permissionType -> (string)

> > > The type of managed permission. This can be one of the following values:

> > > * `AWS_MANAGED` – Amazon Web Services created and manages this managed permission. You can associate it with your resource shares, but you can’t modify it.
> > > * `CUSTOMER_MANAGED` – You, or another principal in your account created this managed permission. You can associate it with your resource shares and create new versions that have different permissions.

> > > Possible values:

> > > * `CUSTOMER_MANAGED`
> > > * `AWS_MANAGED`

> > featureSet -> (string)

> > > Indicates what features are available for this resource share. This parameter can have one of the following values:

> > > * **STANDARD** – A resource share that supports all functionality. These resource shares are visible to all principals you share the resource share with. You can modify these resource shares in RAM using the console or APIs. This resource share might have been created by RAM, or it might have been **CREATED_FROM_POLICY** and then promoted.
> > > * **CREATED_FROM_POLICY** – The customer manually shared a resource by attaching a resource-based policy. That policy did not match any existing managed permissions, so RAM created this customer managed permission automatically on the customer’s behalf based on the attached policy document. This type of resource share is visible only to the Amazon Web Services account that created it. You can’t modify it in RAM unless you promote it. For more information, see  PromoteResourceShareCreatedFromPolicy .
> > > * **PROMOTING_TO_STANDARD** – This resource share was originally `CREATED_FROM_POLICY` , but the customer ran the  PromoteResourceShareCreatedFromPolicy and that operation is still in progress. This value changes to `STANDARD` when complete.

> > > Possible values:

> > > * `CREATED_FROM_POLICY`
> > > * `PROMOTING_TO_STANDARD`
> > > * `STANDARD`

> > permissionTemplateParameters -> (list)

> > > The list of template parameters defined for this permission, including their names, types, descriptions, and values. This field is present only if the permission is a template with declared parameters. When returned in the context of a permission association, the values are also included.

> > > (structure)

> > > > Contains the declaration of a template parameter for a customer managed permission. When returned in the context of a permission association, it also includes the values assigned to that parameter.

> > > > name -> (string)

> > > > > The name of the template parameter.

> > > > type -> (string)

> > > > > The type of the template parameter. This can be one of the following values:

> > > > > * `STRING` – A single string value.
> > > > > * `STRING_LIST` – One or more string values.

> > > > > Possible values:

> > > > > * `STRING`
> > > > > * `STRING_LIST`

> > > > description -> (string)

> > > > > A description of the template parameter.

> > > > values -> (list)

> > > > > The values assigned to this template parameter in the context of a permission association. This field is present only when the parameter has been assigned values (for example, in the response from  ListPermissionAssociations or  ListResourceSharePermissions ).

> > > > > (string)

> > tags -> (list)

> > > A list of the tag key value pairs currently attached to the permission.

> > > (structure)

> > > > A structure containing a tag. A tag is metadata that you can attach to your resources to help organize and categorize them. You can also use them to help you secure your resources. For more information, see [Controlling access to Amazon Web Services resources using tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) .

> > > > For more information about tags, see [Tagging Amazon Web Services resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *Amazon Web Services General Reference Guide* .

> > > > key -> (string)

> > > > > The key, or name, attached to the tag. Every tag must have a key. Key names are case sensitive.

> > > > value -> (string)

> > > > > The string value attached to the tag. The value can be an empty string. Key values are case sensitive.

> > resourceOwner -> (string)

> > > The owner of the permission. This can be one of the following values:

> > > * `SELF` – The permission is owned by the current account.
> > > * `OTHER-ACCOUNTS` – The permission is owned by another account and shared with the current account.

> > > Possible values:

> > > * `SELF`
> > > * `OTHER-ACCOUNTS`

nextToken -> (string)

> If present, this value indicates that more output is available than is included in the current response. Use this value in the `NextToken` request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the `NextToken` response element comes back as `null` . This indicates that this is the last page of results.
