

# AWS CLI를 사용한 AWS Serverless Application Repository 예시
<a name="cli_serverlessapplicationrepository_code_examples"></a>

다음 코드 예시는 AWS Serverless Application Repository와 함께 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `put-application-policy`
<a name="serverlessapplicationrepository_PutApplicationPolicy_cli_topic"></a>

다음 코드 예시에서는 `put-application-policy`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 애플리케이션을 공개적으로 공유**  
다음 `put-application-policy`는 공개적으로 애플리케이션을 공유하므로 누구나 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
```
출력:  

```
{
    "Statements": [
        {
            "Actions": [
                "Deploy"
            ],
            "Principals": [
                ""
            ],
            "StatementId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
        }
    ]
}
```
**예시 2: 애플리케이션을 비공개로 공유**  
다음 `put-application-policy`는 애플리케이션을 비공개로 공유하므로 특정 AWS 계정만 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
```
출력:  

```
{
    "Statements": [
        {
            "Actions": [
                "Deploy"
            ],
            "Principals": [
                "111111111111",
                "222222222222"
            ],
            "StatementId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
        }
    ]
}
```
자세한 내용은 *AWS Serverless Application Repository 개발자 안내서*의 [콘솔을 통한 애플리케이션 공유](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/serverlessrepo-how-to-publish.html#share-application)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutApplicationPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/serverlessrepo/put-application-policy.html)를 참조하세요.