

새로운 *CloudFormation 템플릿 참조 안내서*입니다. 북마크와 링크를 업데이트하세요. CloudFormation을 시작하는 데 도움이 필요한 경우 [AWS CloudFormation 사용 설명서](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)를 참조하세요.

# `AWS::ServiceCatalog` 변환
<a name="transform-aws-servicecatalog"></a>

이 주제에서는 `AWS::ServiceCatalog` 변환을 사용하여 CloudFormation 템플릿에서 기존의 AWS Service Catalog에서 프로비저닝된 제품으로부터 출력을 참조하는 방법을 설명합니다.

## 사용법
<a name="aws-servicecatalog-usage"></a>

`AWS::ServiceCatalog` 변환을 사용하려면 CloudFormation 템플릿의 최상위 수준에서 이를 선언해야 합니다. 다른 템플릿 섹션에 포함된 변환으로 `AWS::ServiceCatalog`을 사용할 수 없습니다.

출력 값이 필요한 경우, 프로비저닝된 제품의 이름과 출력 키 이름을 입력합니다.

템플릿에서 프로비저닝된 제품과 키 이름을 여러 개 참조할 수 있으며, 최대 개수는 템플릿당 20개입니다. 프로비저닝하는 동안 변환을 실행하면 각각의 참조된 프로비저닝 제품 및 키에서 값을 검색하여 CloudFormation 템플릿에서 출력 값을 대체합니다.

선언에서는 리터럴 문자열 `AWS::ServiceCatalog`을 해당 값으로 사용해야 합니다. 파라미터나 함수를 사용하여 변환 값을 지정할 수 없습니다.

### 구문
<a name="aws-servicecatalog-syntax"></a>

CloudFormation 템플릿에서 이 변환을 선언하려면 다음 구문을 사용합니다.

#### JSON
<a name="aws-servicecatalog-syntax.json"></a>

```
{
  "Transform":"AWS::ServiceCatalog",
  "Resources":{
    {{...}}
  }
}
```

#### YAML
<a name="aws-servicecatalog-syntax.yaml"></a>

```
Transform: AWS::ServiceCatalog
Resources:
  {{...}}
```

`AWS::ServiceCatalog` 변환은 추가 파라미터가 없는 독립 실행형 선언입니다.

## 예제
<a name="aws-servicecatalog-examples"></a>

다음 예제는 CloudFormation 템플릿에서 Service Catalog의 프로비저닝된 기존 제품으로부터 출력을 참조하는 방법을 보여줍니다.

이 예제에서 `SampleProvisionedProduct`는 이전에 생성된 프로비저닝 제품이고, `SampleOutputKey`는 이 프로비저닝된 제품의 출력 키입니다.

### JSON
<a name="aws-servicecatalog-example.json.json"></a>

이 예제는 작업 버전입니다.

문자열 리터럴로 값을 묶지 않은 템플릿 버전은 실패합니다.

```
{
  "AWSTemplateFormatVersion":"2010-09-09",
  "Transform":"AWS::ServiceCatalog",
  "Resources":{
    "ExampleParameter":{
      "Type":"AWS::SSM::Parameter",
      "Properties":{
        "Type":"String",
        "Value":"[[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]"
      }
    }
  }
}
```

### YAML
<a name="aws-servicecatalog-example.yaml"></a>

예제 1–4는 유효한 템플릿입니다. 예제 1과 2는 변환과 값이 문자열 리터럴입니다.

예제 5는 유효한 템플릿이 아닙니다. 값은 문자열 `'`이나 `"`, 또는 `>-`로 묶어야 합니다. 그렇지 않은 경우, 사용자가 오류를 수신합니다.

```
// Example 1 
AWSTemplateFormatVersion: 2010-09-09
Transform: 'AWS::ServiceCatalog'
Resources:
  ExampleParameter:
    Type: AWS::SSM::Parameter
    Properties:
      Type: String
      Value: '[[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]'
     
// Example 2
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::ServiceCatalog
Resources:
  ExampleParameter:
    Type: AWS::SSM::Parameter
    Properties:
      Type: String
      Value: '[[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]'
     
     
// Example 3 
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::ServiceCatalog
Resources:
  ExampleParameter:
    Type: AWS::SSM::Parameter
    Properties:
      Type: String
      Value: "[[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]"
     
     
// Example 4 
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::ServiceCatalog
Resources:
  ExampleParameter:
    Type: AWS::SSM::Parameter
    Properties:
      Type: String
      Value: >-
        [[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]
     
     
// Example 5 
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::ServiceCatalog
Resources:
  ExampleParameter2:
    Type: AWS::SSM::Parameter
    Properties:
      Type: String
      Value: [[servicecatalog:provisionedproduct:SSMProductProvisionedProduct:SampleOutputKey]]
```