cdk diff - AWS Kit de desenvolvimento em nuvem (AWS CDK) v2

Este é o Guia do desenvolvedor do AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

cdk diff

Faça um diff para ver as mudanças na infraestrutura entre as pilhas do AWS CDK.

Esse comando geralmente é usado para comparar as diferenças entre o estado atual das pilhas em sua aplicação CDK local e as pilhas implantadas. Contudo, você também pode comparar uma pilha implantada com qualquer modelo local do AWS CloudFormation.

Uso

$ cdk diff <arguments> <options>

Argumentos

ID da pilha CDK

O ID de constructo da pilha CDK da sua aplicação para realizar uma comparação.

Tipo: string

Obrigatório: não

Opções

Para obter uma lista das opções globais que funcionam com todos os comandos da CLI do CDK, consulte Opções globais.

--change-set <BOOLEAN>

Especifique se deseja criar um conjunto de alterações para analisar as substituições de recursos.

Quando true, a CLI do CDK criará um conjunto de alterações do AWS CloudFormation para exibir as alterações exatas que serão feitas em sua pilha. Essa saída inclui se os recursos serão atualizados ou substituídos. A CLI do CDK usa o perfil de implantação em vez do perfil de pesquisa para realizar essa ação.

Quando false, uma comparação mais rápida, mas menos precisa, é realizada comparando os modelos do CloudFormation. Qualquer alteração detectada nas propriedades que exijam a substituição de um recurso será exibida como uma substituição de recurso, mesmo que a alteração seja puramente cosmética, como a substituição de uma referência de recurso por um ARN com codificação rígida.

Valor padrão: true

--context-lines <NUMBER>

Número de linhas de contexto a serem incluídas na renderização arbitrária de diferenças JSON.

Valor padrão: 3

--exclusively, -e <BOOLEAN>

Diferenciar apenas as pilhas solicitadas e não incluir dependências.

--fail <BOOLEAN>

Falhar e sair com um código de 1 se forem detectadas diferenças.

--help, -h <BOOLEAN>

Mostrar as informações de referência do comando cdk diff.

--processed <BOOLEAN>

Especifique se deseja comparar com o modelo com as transformações do CloudFormation já processadas.

Valor padrão: false

--quiet, -q <BOOLEAN>

Não imprimir o nome da pilha CDK e a mensagem padrão cdk diff para stdout quando nenhuma alteração for detectada.

Valor padrão: false

--security-only <BOOLEAN>

Diferenciar apenas para mudanças de segurança ampliadas.

Valor padrão: false

--strict <BOOLEAN>

Modifique o comportamento cdk diff para ser mais preciso ou rigoroso. Quando verdadeiro, a CLI do CDK não filtrará recursos da AWS::CDK::Metadata ou caracteres não ASCII ilegíveis.

Valor padrão: false

--template <STRING>

O caminho para o modelo do CloudFormation com o qual comparar uma pilha do CDK.

Exemplos

Compare com a pilha atualmente implantada chamada MyStackName

A CLI do CDK usa os símbolos a seguir na saída de diff:

  • [+]: identifica o código ou os recursos que serão adicionados se você implantar suas alterações.

  • [-]: identifica o código ou os recursos que serão removidos se você implantar suas alterações.

  • [~]: identifica um recurso ou propriedade que será modificado se você implantar suas alterações.

Veja a seguir um exemplo que mostra uma diferença de alterações locais em uma função do Lambda:

$ cdk diff MyStackName start: Building <asset-hash>:<account:Region> success: Built <asset-hash>:<account:Region> start: Publishing <asset-hash>:<account:Region> success: Published <asset-hash>:<account:Region> Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff) Stack MyStackName Resources [~] AWS::Lambda::Function HelloWorldFunction <resource-logical-ID> └─ [~] Code └─ [~] .ZipFile: ├─ [-] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello World!'), }; }; └─ [+] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello from CDK!'), }; }; ✨ Number of stacks with differences: 1

Um indicador [~] para recursos que serão modificados nem sempre significa uma substituição completa de recursos:

  • Algumas propriedades do recurso, como Code, atualizarão o recurso.

  • Algumas propriedades do recurso, como FunctionName, podem causar a substituição total do recurso.

Compare com um modelo específico do CloudFormation

$ cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'

Faça um diff de uma pilha local com sua pilha implantada. Não imprima em stdout se nenhuma alteração for detectada

$ cdk diff MyStackName --app='node bin/main.js' --quiet