Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Ajouter des composants d'environnement à un plan

Mode de mise au point
Ajouter des composants d'environnement à un plan - Amazon CodeCatalyst

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

L'assistant de création de plans personnalisés est généré dynamiquement à partir de l'Optionsinterface exposée via l'assistant. Les plans permettent de générer des composants d'interface utilisateur (UI) à partir de types exposés.

Pour importer les composants de l'environnement Amazon CodeCatalyst Blueprints

Dans votre blueprint.ts fichier, ajoutez les éléments suivants :

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

Création d'environnements de développement

L'exemple suivant montre comment déployer votre application dans le cloud :

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

L'interface génère un composant d'interface utilisateur qui demande un nouvel environnement (myNewEnvironment) avec une connexion à un seul compte (thisIsMyFirstAccountConnection. Un rôle sur la connexion au compte (thisIsARole) est également généré avec ['lambda', 's3', 'dynamo'] les capacités de rôle minimales requises. Tous les utilisateurs ne sont pas connectés à un compte. Vous devez donc vérifier s'il n'y a pas de cas où un utilisateur ne connecte pas de compte ou n'associe pas un compte à un rôle. Les rôles peuvent également être annotés avec@inlinePolicies. Pour de plus amples informations, veuillez consulter @inlinePolicy . /path/to/policy/file.json.

Le composant environnemental nécessite un name etenvironmentType. Le code suivant est la forme par défaut minimale requise :

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

Le composant d'interface utilisateur vous invite ensuite à saisir différents champs. Au fur et à mesure que vous remplissez les champs, le plan prend une forme complètement développée. Il peut être utile d'inclure la maquette complète dans le defaults.json fichier à des fins de test et de développement.

Liste des environnements

La spécification d'un tableau de types EnvironmentDefinition générera une liste d'environnements dans l'interface utilisateur de l'assistant.

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

L'exemple suivant montre les valeurs par défaut d'une liste d'environnements :

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

Exemples d'interfaces fictives

Interface fictive simple

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

Interface fictive complexe

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']; }; }; }

Interface fictive complète

{ ... "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" ] } } }, }
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.