

Amazon CodeCatalyst ist nicht mehr offen für Neukunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Wie migriert man von CodeCatalyst](migration.md).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Hinzufügen von Umgebungskomponenten zu einem Blueprint
<a name="comp-env-bp"></a>

Der Assistent für benutzerdefinierte Blueprints wird dynamisch über die `Options` Oberfläche generiert, die über den Assistenten verfügbar gemacht wird. Blueprints unterstützen das Generieren von Benutzeroberflächenkomponenten (UI) aus verfügbaren Typen.

**So importieren Sie Amazon CodeCatalyst Blueprints-Umgebungskomponenten**

Fügen Sie in Ihrer `blueprint.ts` Datei Folgendes hinzu:

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

**Topics**
+ [Entwicklungsumgebungen erstellen](#create-dev-env-bp)
+ [Liste der Umgebungen](#list-env-bp)
+ [Beispiele für simulierte Benutzeroberflächen](#examples-comp-env-bp)

## Entwicklungsumgebungen erstellen
<a name="create-dev-env-bp"></a>

Das folgende Beispiel zeigt, wie Sie Ihre Anwendung in der Cloud bereitstellen:

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

Die Schnittstelle generiert eine UI-Komponente, die nach einer neuen Umgebung (`myNewEnvironment`) mit einer einzigen Kontoverbindung () fragt`thisIsMyFirstAccountConnection`. Es wird auch eine Rolle für die Kontoverbindung (`thisIsARole`) generiert, die mindestens die erforderlichen Rollenfunktionen enthält. `['lambda', 's3', 'dynamo']` Nicht alle Benutzer haben Kontoverbindungen, daher sollten Sie prüfen, ob ein Benutzer ein Konto nicht oder kein Konto mit einer Rolle verbindet. Rollen können auch mit `@inlinePolicies` Anmerkungen versehen werden. Weitere Informationen finden Sie unter [@inlinePolicy. /path/to/policy/file.json](wizard-bp.md#inline-policy-tag).

Für die Umgebungskomponente ist ein `name` AND `environmentType` erforderlich. Der folgende Code ist die mindestens erforderliche Standardform:

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

Die UI-Komponente fordert Sie dann zur Eingabe verschiedener Felder auf. Wenn Sie die Felder ausfüllen, erhält der Blueprint eine vollständig erweiterte Form. Für Test- und Entwicklungszwecke kann es für Sie hilfreich sein, das vollständige Modell in die `defaults.json` Datei aufzunehmen.

## Liste der Umgebungen
<a name="list-env-bp"></a>

Wenn Sie ein Array vom Typ angeben, `EnvironmentDefinition` wird eine Liste von Umgebungen in der Benutzeroberfläche des Assistenten generiert.

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

}
```

Das folgende Beispiel zeigt die Standardeinstellungen für eine Umgebungsliste:

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

## Beispiele für simulierte Benutzeroberflächen
<a name="examples-comp-env-bp"></a>

### Einfache Scheinschnittstelle
<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"
                ]
            }
        }
    }
}
```

### Komplexe Scheinschnittstelle
<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'];
    };
  };
}
```

### Vollständige Scheinschnittstelle
<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"
        ]
      }
    }
  },
}
```