Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
@azure/provisioning-corefornece o modelo de autoria compartilhada para bibliotecas de recursos de provisionamento do Azure.
Como começar
Crie uma pilha de implantação e então anexe recursos à pilha ou a outro componente de provisionamento:
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",
});
Use a API principal Resource para anexar um recurso do Key Vault diretamente a um grupo de recursos:
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" },
},
});
Para classes de recursos tipadas específicas de serviço, veja o exemplo de provisionamento do Key Vault.
As definições de provisionamento são elaboradas antes da implantação. Propriedades de recursos somente leitura permanecem disponíveis como expressões para conexões de saídas e recursos dependentes, enquanto apenas propriedades graváveis podem ser atribuídas.
Discriminadores de tempo de implantação
Propriedades do discriminador usam tipos literais para que o TypeScript possa selecionar o membro correto da união. Quando um discriminador vem de uma expressão de tempo de implantação, use asDiscriminator para selecionar a variante pretendida enquanto mantém a verificação de tipo por suas outras propriedades:
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,
};
Prefira discriminadores literais sempre que possível.
asDiscriminator não valida o valor do tempo de implantação; restringe o parâmetro ao literal pretendido usando allowed.
Azure SDK for JavaScript