Table Of Contents

Feedback

User Guide

First time using the AWS CLI? See the User Guide for help getting started.

[ aws . serverlessrepo ]

put-application-policy

Description

Sets the permission policy for an application. For the list of actions supported for this operation, see Application Permissions .

See also: AWS API Documentation

See 'aws help' for descriptions of global parameters.

Synopsis

  put-application-policy
--application-id <value>
--statements <value>
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]

Options

--application-id (string)

The Amazon Resource Name (ARN) of the application.

--statements (list)

An array of policy statements applied to the application.

Shorthand Syntax:

Actions=string,string,Principals=string,string,StatementId=string ...

JSON Syntax:

[
  {
    "Actions": ["string", ...],
    "Principals": ["string", ...],
    "StatementId": "string"
  }
  ...
]

--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI 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.

--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. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See 'aws help' for descriptions of global parameters.

Examples

Example 1: To share an application publicly

The following put-application-policy shares an application publicly, so anyone can find and deploy your application in the AWS Serverless Application Repository.

aws serverlessrepo put-application-policy \
    --application-id arn:aws:serverlessrepo:us-east-1:123456789012:applications/my-test-application \
    --statements Principals='*',Actions=Deploy

Output:

{
    "Statements": [
        {
            "Actions": [
                "Deploy"
            ],
            "Principals": [
                ""
            ],
            "StatementId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
        }
    ]
}

Example 2: To share an application privately

The following put-application-policy shares an application privately, so only specific AWS accounts can find and deploy your application in the AWS Serverless Application Repository.

aws serverlessrepo put-application-policy \
    --application-id arn:aws:serverlessrepo:us-east-1:123456789012:applications/my-test-application \
    --statements Principals=111111111111,222222222222,Actions=Deploy

Output:

{
    "Statements": [
        {
            "Actions": [
                "Deploy"
            ],
            "Principals": [
                "111111111111",
                "222222222222"
            ],
            "StatementId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
        }
    ]
}

For more information, see Sharing an Application Through the Console in the AWS Serverless Application Repository Developer Guide

Output

Statements -> (list)

An array of policy statements applied to the application.

(structure)

Policy statement applied to the application.

Actions -> (list)

For the list of actions supported for this operation, see Application Permissions .

(string)

Principals -> (list)

An array of AWS account IDs, or * to make the application public.

(string)

StatementId -> (string)

A unique ID for the statement.