云平台 · Nouvelle ressource

Système de design AWS Cloudscape.

Un guide de configuration Cloudscape avec de véritables jetons de mise à jour visuelle, un espacement adapté à la densité, des API de formulaire contrôlées et un assistant fonctionnel en deux étapes pour la création de ressources.

Guide OpenDesign8 chapitres50 entrées de référenceGuide de l’application d’origine
01

Aperçu de l’interface du système de design AWS Cloudscape

Testez des noms invalides, choisissez un profil de capacité, passez de la configuration à la vérification, changez l’apparence et confirmez la recette localement.

Configurer et vérifier un espace de travailOuvrir l’exemple complet
Cloudscape natif 3.0.1390 avec React 18.3.1 ; composition Wizard originale et état exclusivement local. · Référence de mise en œuvre
02

Référence de conception du système de design AWS Cloudscape

Composants Cloudscape 3.0.1390 et design-tokens 3.0.114, thème visual-refresh. Les valeurs sont extraites du JSON des jetons publié. Les modes de couleur et les densités de contenu sont deux dimensions distinctes. Il s’agit d’une référence d’implémentation ciblée, et non de l’export complet des jetons.

Rôles de couleur sémantiques en mode clair et sombre

Source
Nom / règleValeur / configurationUtilisation
color-background-layout-mainlight: #ffffff; dark: #161d26Utilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-background-container-contentlight: #ffffff; dark: #161d26Utilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-text-body-defaultlight: #0f141a; dark: #c6c6cdUtilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-text-body-secondarylight: #424650; dark: #c6c6cdUtilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-text-interactive-defaultlight: #424650; dark: #dedee3Utilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-text-link-defaultlight: #006ce0; dark: #42b4ffUtilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-text-status-errorlight: #db0000; dark: #ff7a7aUtilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-text-status-successlight: #00802f; dark: #2bb534Utilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-border-input-defaultlight: #8c8c94; dark: #656871Utilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.
color-background-button-primary-defaultlight: #006ce0; dark: #42b4ffUtilisez ce rôle nommé dans le contexte prévu ; la paire présente les valeurs en mode clair et sombre, et non des nuances interchangeables.

Typographie du corps et des titres

Source
Nom / règleValeur / configurationUtilisation
font-size-body-m14pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
font-size-body-s12pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
font-size-heading-l20pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
font-size-heading-m18pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
font-size-heading-s16pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
font-size-heading-xl24pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
font-size-heading-xs14pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
line-height-body-m20pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
line-height-body-s16pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
line-height-heading-l24pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
line-height-heading-m22pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
line-height-heading-s20pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
line-height-heading-xl30pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.
line-height-heading-xs18pxAssociez la taille de police et la hauteur de ligne du même rôle. Les variantes Header et Box respectent la hiérarchie des composants.

Espacement adapté à la densité

Source
Nom / règleValeur / configurationUtilisation
space-scaled-xxxscomfortable: 2px; compact: 0pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.
space-scaled-xxscomfortable: 4px; compact: 2pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.
space-scaled-xscomfortable: 8px; compact: 4pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.
space-scaled-scomfortable: 12px; compact: 8pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.
space-scaled-mcomfortable: 16px; compact: 12pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.
space-scaled-lcomfortable: 20px; compact: 16pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.
space-scaled-xlcomfortable: 24px; compact: 20pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.
space-scaled-xxlcomfortable: 32px; compact: 24pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.
space-scaled-xxxlcomfortable: 40px; compact: 32pxUtilisez la valeur confortable ou compacte selon la densité active. Ne redimensionnez pas le texte en fonction de ces changements d’espacement.

Forme des composants

Source
Nom / règleValeur / configurationUtilisation
border-radius-container16pxConservez la forme du composant nommé. Le rayon d’un bouton n’est pas un rayon universel pour les conteneurs.
border-radius-button20pxConservez la forme du composant nommé. Le rayon d’un bouton n’est pas un rayon universel pour les conteneurs.
border-radius-input8pxConservez la forme du composant nommé. Le rayon d’un bouton n’est pas un rayon universel pour les conteneurs.
border-radius-alert12pxConservez la forme du composant nommé. Le rayon d’un bouton n’est pas un rayon universel pour les conteneurs.
border-radius-dropdown8pxConservez la forme du composant nommé. Le rayon d’un bouton n’est pas un rayon universel pour les conteneurs.
border-radius-card-embedded8pxConservez la forme du composant nommé. Le rayon d’un bouton n’est pas un rayon universel pour les conteneurs.

Durée des interactions

Source
Nom / règleValeur / configurationUtilisation
motion-duration-responsivedefault: 115ms; disabled: 0msEn mode mouvement désactivé, le mouvement natif est ramené à zéro. Évitez d’ajouter une transition sans rapport à la même interaction.
motion-duration-expressivedefault: 165ms; disabled: 0msEn mode mouvement désactivé, le mouvement natif est ramené à zéro. Évitez d’ajouter une transition sans rapport à la même interaction.
motion-duration-complexdefault: 250ms; disabled: 0msEn mode mouvement désactivé, le mouvement natif est ramené à zéro. Évitez d’ajouter une transition sans rapport à la même interaction.

Composition native API

Source
Nom / règleValeur / configurationUtilisation
WizardactiveStepIndex · onNavigate · onSubmitGérez l’étape actuelle dans React ; validez avant d’accepter l’index demandé pour l’étape suivante.
FormFieldlabel · constraintText · errorTextPlacez la règle de format et le message d’erreur à côté du champ de nom.
Inputvalue · onChange({ detail })Lisez detail.value plutôt que la cible d’un événement DOM.
SelectselectedOption · options · onChangeConservez l’objet d’option sélectionné, avec son libellé et sa valeur.
Containerheader={<Header variant="h2" />}Regroupez les champs de configuration associés sans inventer un nouveau système de cartes.
ColumnLayoutcolumns={2} · variant="text-grid"Présentez les métadonnées compactes de vérification dans des colonnes adaptées à la bibliothèque.
SpaceBetweensize="l"Utilisez l’échelle d’espacement de la bibliothèque pour séparer les champs et les modules de vérification.
applyModeMode.Light / Mode.DarkChangez le mode visuel global des composants natifs et des jetons sémantiques.
03

Guide complet du système de design AWS Cloudscape

Un guide pratique pour choisir, appliquer et évaluer ce système dans une interface réelle.

DESIGN-aws-cloudscape.md

Des conseils complets, un point de départ pour la mise en œuvre et des liens vers les sources.

Télécharger le guide

Architecture de configuration du système de design AWS Cloudscape

Adaptez le workflow à Wizard

Cet exemple sépare la configuration de la vérification. Wizard fournit la navigation entre les étapes et les actions ; l’application gère l’index actuel, les valeurs des champs, la règle de validation et la confirmation finale. Le lecteur peut revenir à la configuration sans recréer le formulaire ni perdre la capacité sélectionnée. Cette approche convient mieux que d’enfermer tout un workflow à plusieurs étapes dans une seule Card générique.

Extrait de ce guide OpenDesign

Créez la mise en page avec les conteneurs natifs

Container, Header et SpaceBetween définissent la section du formulaire. Le h1 présente l’opération ; le h2 nomme le groupe de paramètres. Le texte explicatif est placé à côté du champ ou de l’étape qu’il décrit. La largeur maximale de 1200px et le padding de la page sont des choix explicites de mise en page de l’application CSS, et non des jetons de mise en page Cloudscape exportés.

Jetons sémantiques et modes visuels du système de design AWS Cloudscape

Choisissez un rôle avant une valeur

La référence distingue l’arrière-plan de la mise en page, le contenu des conteneurs, le texte du corps, le texte interactif et les retours d’état. Leurs valeurs ne forment pas une palette uniforme. Pour une interface personnalisée, importez le jeton nommé depuis @cloudscape-design/design-tokens plutôt que de recopier une valeur hexadécimale claire dans chaque état. Le jeton définit une fonction ; sa valeur peut évoluer.

Changer de mode depuis la bibliothèque

L’aperçu appelle applyMode avec Mode.Light ou Mode.Dark depuis global-styles. Cela met à jour le mode utilisé par les composants au lieu de remplacer des couleurs CSS arbitraires. En mode sombre, l’écran de vérification conserve les mêmes libellés, la capacité sélectionnée et l’état de navigation. Le JSON source consigne les valeurs en mode clair et sombre, ce qui permet de les examiner séparément.

Typographie et hiérarchie des titres du système de design AWS Cloudscape

Associez les rôles de police et de hauteur de ligne

La référence visual-refresh body-m utilise une taille de 14px et une hauteur de ligne de 20px. Le rôle heading-xl correspond à 24px avec une hauteur de ligne de 30px, heading-l à 20px avec 24px, et heading-m à 18px avec 22px. Ces rôles définissent la hiérarchie compacte du formulaire ; ils ne sont pas des tailles d’affichage marketing interchangeables.

Utilisez les variantes sémantiques des composants

La variante Header h1 affiche « Créer un espace de travail ». Les en-têtes des conteneurs utilisent h2, tandis que la variante Box awsui-key-label applique un style secondaire cohérent aux libellés de révision. Les valeurs restent du texte ordinaire et lisible. Ne transformez pas tous les libellés de champ en titres dans le seul but de leur donner plus de poids visuel.

Système de design AWS Cloudscape : champs contrôlés et composition de la révision

Comprendre le contrat des événements detail

Input émet un événement dont detail.value contient le nouveau texte. Select émet detail.selectedOption, qui est un objet option et non une simple chaîne. L’exemple complet stocke cet objet et affiche son libellé dans la révision. Cela évite une erreur d’intégration fréquente : un Select qui semble vide parce que selectedOption reçoit uniquement un identifiant.

Associez les instructions au champ concerné

  • La politique de format des champs relève de cette application d’exemple.
  • Les options de capacité ne constituent ni des affirmations sur les produits ni des tarifs.
  • Les composants natifs gèrent la présentation ; l’état React contient la configuration.

Système de design AWS Cloudscape : densité et mise en page adaptative

Ne considérez pas le mode compact comme un niveau de zoom

Les valeurs d’espacement à l’échelle publiées varient selon la densité. Par exemple, space-scaled-m vaut 16px en mode confortable et 12px en mode compact, tandis que space-scaled-l vaut respectivement 20px et 16px. Ces différences resserrent le rythme vertical sans redéfinir le contenu ni réduire arbitrairement la taille du texte. Les composants natifs appliquent leurs propres règles de densité.

Laissez les structures d’étapes et de révision s’adapter

Wizard adapte la présentation de sa navigation à l’espace disponible ; ColumnLayout organise les métadonnées de révision de façon adaptative. L’application CSS réduit la marge intérieure extérieure en dessous de 600px. L’exemple ne fixe pas en dur la largeur de la navigation des étapes sur ordinateur, et sa version mobile conserve des actions visibles Next, Previous et Confirm, disponibles localement.

Système de design AWS Cloudscape : validation et confirmation avec Wizard

Validez avant d’accepter la navigation

onNavigate reçoit requestedStepIndex. Avant de passer à la révision, l’application vérifie le nom et conserve l’étape actuelle s’il est invalide. Toute modification efface l’erreur afin que la saisie suivante puisse être évaluée à nouveau. Le retour aux paramètres préserve le nom et l’option sélectionnée.

  1. Saisissez un nom invalide et restez dans la configuration.
  2. Corrigez le nom et choisissez un autre profil de capacité.
  3. Passez à la révision et vérifiez les deux valeurs.
  4. Utilisez Edit settings pour revenir sans perdre l’une ou l’autre valeur.
  5. Confirmez localement et relancez l’exemple.

Distinguez une démonstration d’un provisionnement

L’action finale affiche une alerte de réussite locale et un récapitulatif de la configuration. Elle ne prétend pas créer une véritable ressource. Dans une application réelle, maintenez l’action de soumission en attente pendant le provisionnement, distinguez les demandes acceptées des ressources effectivement créées et proposez une procédure de récupération en cas d’échec sans supprimer la configuration.

Système de design AWS Cloudscape : accessibilité des formulaires

Conservez les libellés et les noms de navigation

Wizard reçoit navigationAriaLabel et les chaînes d’action traduites. Chaque Input et Select est inclus dans un FormField doté d’un libellé. Alert communique les résultats invalides ou réussis au moyen des sémantiques natives du composant. Les contraintes visibles complètent le libellé du champ au lieu de le remplacer.

Vérifiez le parcours au clavier dans l’ensemble de l’opération

Utilisez le clavier pour accéder au champ du nom, ouvrir le sélecteur de capacité, passer à l’étape suivante, revenir en arrière, modifier la valeur et confirmer. Le comportement natif de la gestion du focus est utile, mais la règle de validation des étapes et la signification de la confirmation restent du ressort de l’application. Une bibliothèque de composants ne peut pas valider seule une règle métier manquante.

Système de design AWS Cloudscape : installation et limites de personnalisation

Installez ensemble les packages associés

L’implémentation importe les composants depuis leurs sous-chemins de package individuels et charge une seule fois global-styles. design-tokens fournit une référence pour les styles personnalisés. Le fichier d’entrée React fourni et le fichier compact CSS reproduisent l’exemple interactif dans une application Vite React. Conservez des versions compatibles des packages Cloudscape.

Utilisez l’exemple fourni comme véritable point de départ

Système de design AWS Cloudscape : exemples de composants

main.jsx — assistant de configuration complet

Wizard, FormField, Select et métadonnées de révision natifs, avec navigation contrôlée et confirmation locale.

jsx
import React, { useState } from "react";
import { createRoot } from "react-dom/client";
import Wizard from "@cloudscape-design/components/wizard";
import Container from "@cloudscape-design/components/container";
import Header from "@cloudscape-design/components/header";
import FormField from "@cloudscape-design/components/form-field";
import Input from "@cloudscape-design/components/input";
import Select from "@cloudscape-design/components/select";
import SpaceBetween from "@cloudscape-design/components/space-between";
import ColumnLayout from "@cloudscape-design/components/column-layout";
import Box from "@cloudscape-design/components/box";
import Button from "@cloudscape-design/components/button";
import Alert from "@cloudscape-design/components/alert";
import Toggle from "@cloudscape-design/components/toggle";
import { applyMode, Mode } from "@cloudscape-design/global-styles";
import "@cloudscape-design/global-styles/index.css";
import "./cloudscape.css";
const sizes = [
  { label: "Development · 2 vCPU / 4 GiB", value: "dev" },
  { label: "Standard · 4 vCPU / 8 GiB", value: "standard" },
  { label: "Compute · 8 vCPU / 16 GiB", value: "compute" },
];
function App() {
  const [name, setName] = useState("analytics-sandbox"),
    [size, setSize] = useState(sizes[0]),
    [step, setStep] = useState(0),
    [error, setError] = useState(""),
    [complete, setComplete] = useState(false),
    [dark, setDark] = useState(false);
  function next(index) {
    if (index > 0 && !/^[a-z][a-z0-9-]{2,29}$/.test(name)) {
      setError(
        "Use 3–30 lowercase letters, numbers or hyphens, starting with a letter.",
      );
      return;
    }
    setError("");
    setStep(index);
  }
  function reset() {
    setStep(0);
    setComplete(false);
    setError("");
    setName("analytics-sandbox");
    setSize(sizes[0]);
  }
  return (
    <main className="awsui-typography cloudscape-example">
      <div className="appearance">
        <span>CLOUDSCAPE · RESOURCE CONFIGURATION</span>
        <Toggle
          checked={dark}
          onChange={({ detail }) => {
            setDark(detail.checked);
            applyMode(detail.checked ? Mode.Dark : Mode.Light);
          }}
        >
          Dark mode
        </Toggle>
      </div>
      <Header
        variant="h1"
        description="Configure a fictional compute workspace. This example does not create a cloud resource."
      >
        Create a workspace
      </Header>
      <div className="wizard-content">
        {complete ? (
          <SpaceBetween size="l">
            <Alert type="success" header="Configuration confirmed locally">
              The {name} recipe is ready for review. No cloud API was called and
              no resource was provisioned.
            </Alert>
            <Container header={<Header variant="h2">Workspace recipe</Header>}>
              <ColumnLayout columns={2} variant="text-grid">
                <div>
                  <Box variant="awsui-key-label">Name</Box>
                  {name}
                </div>
                <div>
                  <Box variant="awsui-key-label">Capacity</Box>
                  {size.label}
                </div>
              </ColumnLayout>
            </Container>
            <Button onClick={reset}>Start another example</Button>
          </SpaceBetween>
        ) : (
          <Wizard
            activeStepIndex={step}
            onNavigate={({ detail }) => next(detail.requestedStepIndex)}
            onCancel={reset}
            onSubmit={() => setComplete(true)}
            i18nStrings={{
              stepNumberLabel: (stepNumber) => `Step ${stepNumber}`,
              collapsedStepsLabel: (stepNumber, stepsCount) =>
                `Step ${stepNumber} of ${stepsCount}`,
              skipToButtonLabel: (step) => `Skip to ${step.title}`,
              navigationAriaLabel: "Configuration steps",
              cancelButton: "Reset",
              previousButton: "Previous",
              nextButton: "Next",
              submitButton: "Confirm locally",
              optional: "optional",
            }}
            steps={[
              {
                title: "Configure workspace",
                description: "Choose the identity and capacity.",
                content: (
                  <Container
                    header={<Header variant="h2">Workspace settings</Header>}
                  >
                    <SpaceBetween size="l">
                      <FormField
                        label="Workspace name"
                        constraintText="3–30 characters; lowercase letters, numbers and hyphens."
                        errorText={error}
                      >
                        <Input
                          value={name}
                          onChange={({ detail }) => {
                            setName(detail.value);
                            setError("");
                          }}
                        />
                      </FormField>
                      <FormField
                        label="Capacity profile"
                        description="These profiles are sample application data, not real cloud products or prices."
                      >
                        <Select
                          selectedOption={size}
                          onChange={({ detail }) =>
                            setSize(detail.selectedOption)
                          }
                          options={sizes}
                        />
                      </FormField>
                    </SpaceBetween>
                  </Container>
                ),
              },
              {
                title: "Review configuration",
                description:
                  "Check the values before confirming the local example.",
                content: (
                  <SpaceBetween size="l">
                    <Container
                      header={
                        <Header
                          variant="h2"
                          actions={
                            <Button onClick={() => setStep(0)}>
                              Edit settings
                            </Button>
                          }
                        >
                          Workspace settings
                        </Header>
                      }
                    >
                      <ColumnLayout columns={2} variant="text-grid">
                        <div>
                          <Box variant="awsui-key-label">Workspace name</Box>
                          {name}
                        </div>
                        <div>
                          <Box variant="awsui-key-label">Capacity profile</Box>
                          {size.label}
                        </div>
                      </ColumnLayout>
                    </Container>
                    <Alert type="info">
                      Confirmation changes the preview only. Production
                      provisioning would require a real service, permissions and
                      a verified response.
                    </Alert>
                  </SpaceBetween>
                ),
              },
            ]}
          />
        )}
      </div>
      <footer>
        Native Cloudscape components 3.0.1390 · configuration, validation,
        review and local confirmation.
      </footer>
    </main>
  );
}
createRoot(document.getElementById("root")).render(<App />);

Référence du code

  • Enregistrez ce fichier sous src/main.jsx. Le bloc de code suivant correspond au fichier importé src/cloudscape.css.

cloudscape.css — structure de la page d’exemple

Largeur de l’application et marges intérieures autour des composants Cloudscape natifs.

css
body {
  margin: 0;
}
.cloudscape-example {
  padding: 24px;
  max-width: 1200px;
  margin: auto;
}
.appearance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.appearance > span {
  font-size: 11px;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.wizard-content {
  margin-top: 32px;
}
.cloudscape-example footer {
  font-size: 12px;
  margin-top: 32px;
  color: #5f6b7a;
}
@media (max-width: 600px) {
  .cloudscape-example {
    padding: 16px;
  }
  .appearance {
    align-items: start;
  }
  .appearance > span {
    max-width: 180px;
  }
  .wizard-content {
    margin-top: 24px;
  }
}

Référence du code

  • Ne remplacez pas les noms de classes natifs des composants par ceux de cette feuille de style d’application.
04

AWS Cloudscape Configuration de l’agent pour le système de design

Point de départ de l’implémentation

L’exemple natif affiché a été compilé avec React 18.3.1. Utilisez une version de Node.js prise en charge par la version de Vite que vous installez ; conservez les versions utilisées dans le fichier de verrouillage de votre application.

sh
npm create vite@latest cloudscape-workspace -- --template react
cd cloudscape-workspace
npm install
npm install [email protected] [email protected] @cloudscape-design/[email protected] @cloudscape-design/[email protected] @cloudscape-design/global-styles
# Replace src/main.jsx and add src/cloudscape.css from the full examples.
npm run dev

Un prompt pour votre projet

Prompt pour l’agent IA
Créez un parcours de configuration de ressources avec Cloudscape. Utilisez le code natif Wizard/Container/FormField/Input/Select fourni et les rôles des jetons visual-refresh. Préservez les valeurs des champs entre les étapes, validez avant la navigation et affichez une révision complète. Considérez les profils de capacité d’exemple comme des espaces réservés pour mon modèle métier, et non comme de véritables produits cloud. N’intégrez le provisionnement qu’après la fourniture d’un API ; distinguez les résultats en attente, les échecs et les confirmations.
05

AWS Cloudscape Sources et périmètre du système de design

Guide OpenDesign et exemple original de configuration d’espace de travail local utilisant les composants Cloudscape natifs 3.0.1390. Les profils de capacité sont des données fictives propres à l’application. Aucun compte cloud, API de provisionnement ni tarif de service réel n’est utilisé.