Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
@azure/provisioning-corefornece o modelo de autoria partilhada para bibliotecas de recursos de provisionamento do Azure.
Como Começar
Crie uma pilha de implantação e depois 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 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 tipados específicas de serviço, veja o exemplo de provisionamento do Key Vault.
As definições de provisionamento são elaboradas antes da implementação. As propriedades de recursos apenas de leitura permanecem disponíveis como expressões para as saídas de ligação e recursos dependentes, enquanto apenas propriedades graváveis podem ser atribuídas.
Discriminadores de tempo de desdobramento
As propriedades do discriminador usam tipos literais para que o TypeScript possa selecionar o membro da união correto. Quando um discriminador provém de uma expressão de tempo de implantação, usa-se asDiscriminator para selecionar a variante pretendida enquanto se mantém a verificação de tipos para as 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,
};
Prefiro discriminadores literais sempre que possível.
asDiscriminator não valida o valor do tempo de implementação; restringe o parâmetro ao literal pretendido usando allowed.
Azure SDK for JavaScript