Menambahkan komponen lingkungan ke cetak biru - Amazon CodeCatalyst

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

Wizard 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'

Menciptakan lingkungan pengembangan

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. /jalur/ke/policy/file.json.

Komponen lingkungan membutuhkan name danenvironmentType. 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.

Contoh antarmuka tiruan

Antarmuka tiruan sederhana

{ ... "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

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

{ ... "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" ] } } }, }