[ aws . serverlessrepo ]
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.
put-application-policy
--application-id <value>
--statements <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--application-id
(string)
The Amazon Resource Name (ARN) of the application.
--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)
PrincipalOrgIDs -> (list)
An array of PrinciplalOrgIDs, which corresponds to AWS IAM aws:PrincipalOrgID global condition key.
(string)
Principals -> (list)
An array of AWS account IDs, or * to make the application public.
(string)
StatementId -> (string)
A unique ID for the statement.
Shorthand Syntax:
Actions=string,string,PrincipalOrgIDs=string,string,Principals=string,string,StatementId=string ...
JSON Syntax:
[
{
"Actions": ["string", ...],
"PrincipalOrgIDs": ["string", ...],
"Principals": ["string", ...],
"StatementId": "string"
}
...
]
--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.
See ‘aws help’ for descriptions of global parameters.
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
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)
PrincipalOrgIDs -> (list)
An array of PrinciplalOrgIDs, which corresponds to AWS IAM aws:PrincipalOrgID global condition key.
(string)
Principals -> (list)
An array of AWS account IDs, or * to make the application public.
(string)
StatementId -> (string)
A unique ID for the statement.