Atualizar um recurso - API de controle de nuvem do

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á.

Atualizar um recurso

Usar aupdate-resourcePara fazer atualizações em um recurso existente. Isso inclui recursos que não foram originalmente provisionados usando a Cloud Control API.

Importante

Recomendamos enfaticamente o uso da Cloud Control API para atualizar recursos que estão sob gerenciamento ativo por outros serviços. Fazer isso pode levar a resultados inesperados. Por exemplo, não use a Cloud Control API para atualizar recursos que atualmente fazem parte de umAWS CloudFormationpilha.

Para atualizar um recurso existente, você deve especificar o identificador do recurso. Para obter mais informações sobre como determinar o identificador de um recurso, consulteComo identificar um recurso.

A atualização de um recurso implica a alteração dos valores da propriedade do recurso. As propriedades de um recurso são definidas em seu esquema de tipo de recurso. Isso inclui se a propriedade é obrigatória, valores válidos e outras restrições de propriedade. Para obter mais informações sobre como visualizar definições de propriedade de recurso, consulteExibindo esquemas de tipo de recurso.

Composição do documento de patch

Para atualizar um recurso, você primeiro define as atualizações como uma lista deOperações de patchcontido em um documento de patch JSON. Este documento de patch deve aderir ao padrão definido emRFC 6902 - Patch JSON (JavaScript Object Notation).

Cada operação de patch define uma única atualização para uma propriedade de recurso específica. As propriedades a seguir são necessárias:

  • op: O tipo de operação. A Cloud Control API oferece suporte a todas as operações definidas no RFC 6902:add,remove,replace,move,copy, etest.

  • path: O caminho para a propriedade do recurso, relativo aopropertiesSeção do esquema de recursos.

Dependendo da operação, propriedades adicionais podem ser necessárias. Consulte o RFC 6902 para obter detalhes.

Ao usar oupdate-resourceVocê pode especificar o documento de patch em linha como uma string ou especificar um local de arquivo.

O exemplo a seguir atualiza a política de retenção de umAWS::Logs::LogGroupRecurso denominadoCloudControlApiLogGrouppara 90 dias.

aws cloudcontrol update-resource --type-name AWS::Logs::LogGroup --identifier CloudControlApiLogGroup --patch-document "[{\"op\":\"test\",\"path\":\"/RetentionInDays\",\"value\":90}]"

Como a Cloud Control API atualiza os recursos

Para atualizar um recurso, a Cloud Control API primeiro recupera o estado atual do recurso e, em seguida, atualiza o recurso em um processo de duas etapas:

  • A Cloud Control API combina as operações de patch especificadas na solicitação de atualização com o estado atual do recurso, para gerar o estado desejado do recurso após a atualização. As operações são aplicadas sequencialmente na ordem em que aparecem no documento de patch. Cada operação na sequência é aplicada ao estado atual do recurso; o estado do recurso resultante se torna o alvo da próxima operação.

    Nesse ponto, toda a solicitação de atualização falhará se:

    • Uma operação de patch incluída na solicitação é inválida.

    • Uma operação de patch deoptipotestfalha.

    Nesses casos, toda a solicitação de atualização falha e a Cloud Control API não faz atualizações para o recurso.

  • Em seguida, a Cloud Control API chama o manipulador de atualização do tipo de recurso para atualizar o recurso.

    Se o manipulador de atualização falhar em qualquer momento,A Cloud Control API não reverte o recurso ao seu estado anterior.

Por exemplo, considere o seguinte documento de patch definido para atualizar umAWS::Logs::LogGrouprecurso. O documento contém duas operações de patch. A primeira operação é do tipoteste verifica se a política de retenção do recurso está definida como 3653 dias. Se for esse o caso, o recurso passa no teste e a Cloud Control API prosseguirá para a próxima operação. Esta operação substitui o valor atual da política de retenção por 180 dias. Se a política de retenção do recurso estiver definida como um valor diferente de 3653 dias, o primeirotestfalha na operação e a Cloud Control API nunca executa a segundareplaceoperação.

[ { "op": "test", "path": "/RetentionInDays", "value":3653 }, { "op": "replace", "path": "/RetentionInDays", "value":180 } ]

Acompanhe o andamento de uma solicitação de recurso de atualização

Oupdate-resourceComando retorna umProgressEventUm objeto que você pode usar para rastrear o status atual da solicitação de operação do recurso. Para obter mais informações, consulteControlar o progresso das solicitações de recursos.