

這是新的 *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 佈建產品的輸出。

## Usage
<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]]
```