Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
@azure/provisioning-corefournit le modèle d’authoring partagé pour les bibliothèques de ressources de provisionnement Azure.
Premiers pas
Créez une pile de déploiement, puis attachez des ressources à la pile ou à un autre composant de provisionnement :
import { Stack, ResourceGroup, fn } from "@azure/provisioning-core";
const stack = new Stack("application");
new ResourceGroup(stack, {
name: fn.concat("rg-", fn.uniqueString("application")),
location: "eastus",
});
Utilisez l’API centrale Resource pour attacher directement une ressource Key Vault à un groupe de ressources :
import { Stack, ResourceGroup, Resource, fn } from "@azure/provisioning-core";
const stack = new Stack("keyvault-deployment");
const resourceGroup = new ResourceGroup(stack, {
name: "rg-keyvault",
location: "eastus",
});
new Resource(resourceGroup, {
type: "Microsoft.KeyVault/vaults",
apiVersion: "2024-11-01",
name: fn.concat("kv-", fn.uniqueString(resourceGroup.id)),
location: resourceGroup.location,
properties: {
tenantId: "00000000-0000-0000-0000-000000000000",
sku: { family: "A", name: "standard" },
},
});
Pour les classes de ressources typées spécifiques au service, voir l’exemple de provisionnement Key Vault.
Les définitions de provisionnement sont rédigées avant le déploiement. Les propriétés de ressources en lecture seule restent disponibles en tant qu’expressions pour câbler les sorties et les ressources dépendantes, tandis que seules les propriétés écrites peuvent être attribuées.
Discriminateurs au temps de déploiement
Les propriétés du discriminateur utilisent des types littéraux afin que TypeScript puisse sélectionner le bon membre de l’union. Lorsqu’un discriminateur provient d’une expression au temps de déploiement, on utilise asDiscriminator pour sélectionner la variante prévue tout en conservant la vérification du type pour ses autres propriétés :
import { ParameterCollection, asDiscriminator } from "@azure/provisioning-core";
type Rule =
| {
kind: "cache";
cacheKind: "long" | "short";
days: number;
}
| {
kind: "redirect";
url: string;
};
const ruleKind = new ParameterCollection().add("ruleKind", "string", {
allowed: ["cache"],
});
const widget: {
properties: {
primaryRule?: Rule;
};
} = {
properties: {},
};
widget.properties.primaryRule = {
kind: asDiscriminator(ruleKind),
cacheKind: "long",
days: 7,
};
Privilégiez les discriminateurs littéraux autant que possible.
asDiscriminator ne valide pas la valeur du temps de déploiement ; contraint le paramètre au littéral prévu en utilisant allowed.
Azure SDK for JavaScript