

Amazon CodeCatalyst tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Lihat informasi yang lebih lengkap di [Cara bermigrasi dari CodeCatalyst](migration.md).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menambahkan komponen lingkungan ke cetak biru
<a name="comp-env-bp"></a>

Wisaya cetak biru khusus dihasilkan secara dinamis dari `Options` antarmuka yang diekspos melalui wizard. Cetak biru mendukung pembuatan komponen antarmuka pengguna (UI) dari tipe yang terbuka.

**Untuk mengimpor komponen CodeCatalyst lingkungan cetak biru Amazon**

Dalam `blueprint.ts` file Anda, tambahkan yang berikut ini:

```
import {...} from '@amazon-codecatalyst/codecatalyst-environments'
```

**Topics**
+ [Menciptakan lingkungan pengembangan](#create-dev-env-bp)
+ [Daftar lingkungan](#list-env-bp)
+ [Contoh antarmuka tiruan](#examples-comp-env-bp)

## Menciptakan lingkungan pengembangan
<a name="create-dev-env-bp"></a>

Contoh berikut menunjukkan cara menerapkan aplikasi Anda ke cloud:

```
export interface Options extends ParentOptions {
        ...
        myNewEnvironment:  EnvironmentDefinition{
            thisIsMyFirstAccountConnection: AccountConnection{
                thisIsARole: Role['lambda', 's3', 'dynamo'];
             };
        };
    }
```

Antarmuka menghasilkan komponen UI yang meminta lingkungan baru (`myNewEnvironment`) dengan koneksi akun tunggal (`thisIsMyFirstAccountConnection`. Peran pada koneksi akun (`thisIsARole`) juga dihasilkan dengan `['lambda', 's3', 'dynamo']` kemampuan peran minimum yang diperlukan. Tidak semua pengguna memiliki koneksi akun, jadi Anda harus memeriksa kasus di mana pengguna tidak menghubungkan akun atau tidak menghubungkan akun dengan peran. Peran juga dapat dijelaskan dengan. `@inlinePolicies` Untuk informasi selengkapnya, lihat [@inlinePolicy. /path/to/policy/file.json](wizard-bp.md#inline-policy-tag).

Komponen lingkungan membutuhkan `name` dan`environmentType`. Kode berikut adalah bentuk default minimum yang diperlukan:

```
{
  ...
  "myNewEnvironment": {
    "name": "myProductionEnvironment",
    "environmentType": "PRODUCTION"
  },
}
```

Komponen UI kemudian meminta Anda untuk berbagai bidang. Saat Anda mengisi bidang, cetak biru mendapatkan bentuk yang sepenuhnya diperluas. Ini dapat membantu bagi Anda untuk memasukkan tiruan penuh dalam `defaults.json` file untuk tujuan pengujian dan pengembangan.

## Daftar lingkungan
<a name="list-env-bp"></a>

Menentukan array tipe `EnvironmentDefinition` akan menghasilkan daftar lingkungan di UI wizard.

```
export interface Options extends ParentOptions {
    ...
   /**
     @showName readOnly
   */
    myEnvironments:  EnvironmentDefinition<{
        thisIsMyFirstAccountConnection: AccountConnection<{
            thisIsARole: Role<['lambda', 's3', 'dynamo']>;
        }>;
    }>[];

}
```

Contoh berikut menunjukkan default untuk daftar lingkungan:

```
{
  ...
  "myEnvironments": [
  {
    "name": "myProductionEnvironment",
    "environmentType": "PRODUCTION"
  },
  {
    "name": "myDevelopmentEnvironment",
    "environmentType": "DEVELOPMENT"
  },
  ]
}
```

## Contoh antarmuka tiruan
<a name="examples-comp-env-bp"></a>

### Antarmuka tiruan sederhana
<a name="simple-comp-env-bp"></a>

```
{
    ...
    "thisIsMyEnvironment": {
        "name": "myProductionEnvironment",
        "environmentType": "PRODUCTION",
        "thisIsMySecondAccountConnection": {
            "id": "12345678910",
            "name": "my-account-connection-name",
            "secondAdminRole": {
                "arn": "arn:aws:iam::12345678910:role/ConnectedQuokkaRole",
                "name": "ConnectedQuokkaRole",
                "capabilities": [
                    "lambda",
                    "s3",
                    "dynamo"
                ]
            }
        }
    }
}
```

### Antarmuka tiruan yang kompleks
<a name="complex-comp-env-bp"></a>

```
export interface Options extends ParentOptions {
  /**
   * The name of an environment
   * @displayName This is a Environment Name
   * @collapsed
   */
  thisIsMyEnvironment: EnvironmentDefinition{
    /**
     * comments about the account that is being deployed into
     * @displayName This account connection has an overriden name
     * @collapsed
     */
    thisIsMyFirstAccountConnection: AccountConnection{
      /**
       * Blah blah some information about the role that I expect
       * e.g. here's a copy-pastable policy: [to a link]
       * @displayName This role has an overriden name
       */
      adminRole: Role['admin', 'lambda', 's3', 'cloudfront'];
      /**
       * Blah blah some information about the second role that I expect
       * e.g. here's a copy-pastable policy: [to a link]
       */
      lambdaRole: Role['lambda', 's3'];
    };
    /**
     * comments about the account that is being deployed into
     */
    thisIsMySecondAccountConnection: AccountConnection{
      /**
         * Blah blah some information about the role that I expect
         * e.g. here's a copy-pastable policy: [to a link]
         */
      secondAdminRole: Role['admin', 'lambda', 's3', 'cloudfront'];
      /**
         * Blah blah some information about the second role that I expect
         * e.g. here's a copy-pastable policy: [to a link]
         */
      secondLambdaRole: Role['lambda', 's3'];
    };
  };
}
```

### Antarmuka tiruan lengkap
<a name="complete-comp-env-bp"></a>

```
{
  ...
  "thisIsMyEnvironment": {
    "name": "my-production-environment",
    "environmentType": "PRODUCTION",
    "thisIsMySecondAccountConnection": {
      "id": "12345678910",
      "name": "my-connected-account",
      "secondAdminRole": {
        "name": "LambdaQuokkaRole",
        "arn": "arn:aws:iam::12345678910:role/LambdaQuokkaRole",
        "capabilities": [
          "admin",
          "lambda",
          "s3",
          "cloudfront"
        ]
      },
      "secondLambdaRole": {
        "name": "LambdaQuokkaRole",
        "arn": "arn:aws:iam::12345678910:role/LambdaQuokkaRole",
        "capabilities": [
          "lambda",
          "s3"
        ]
      }
    },
    "thisIsMyFirstAccountConnection": {
      "id": "12345678910",
      "name": "my-connected-account",
      "adminRole": {
        "name": "LambdaQuokkaRole",
        "arn": "arn:aws:iam::12345678910:role/LambdaQuokkaRole",
        "capabilities": [
          "admin",
          "lambda",
          "s3",
          "cloudfront"
        ]
      },
      "lambdaRole": {
        "name": "LambdaQuokkaRole",
        "arn": "arn:aws:iam::12345678910:role/LambdaQuokkaRole",
        "capabilities": [
          "lambda",
          "s3"
        ]
      }
    }
  },
}
```