O ALIYUN::ROS::WaitConditionHandle recebe sinais e atua em conjunto com o ALIYUN::ROS::WaitCondition para controlar o fluxo de execução da stack. Por exemplo, ao criar uma instância ECS, o sistema envia um sinal durante a execução dos dados do usuário.
Sintaxe
{
"Type": "ALIYUN::ROS::WaitConditionHandle",
"Properties": {
"Mode": String,
"Count": Integer
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Mode |
String |
Não |
Sim |
Modo de exclusão de sinais antes das atualizações de recursos. |
Valores válidos:
|
|
Count |
Integer |
Não |
Sim |
Quando Mode está definido como Full, o sistema exclui os sinais com IDs inteiros maiores que o valor de Count antes da atualização do recurso. |
Valor padrão: -1. A propriedade Count entra em vigor quando:
Se Count entrar em vigor, o sistema excluirá os sinais com IDs inteiros maiores que o valor de Count antes da atualização. Caso algum ID de sinal não seja inteiro, a atualização falhará. Nota
Para dimensionamento elástico via atualizações de stack, defina Count no ALIYUN::ROS::WaitConditionHandle para corresponder ao valor de Count no ALIYUN::ROS::WaitCondition. |
Valores de retorno
Fn::GetAtt
CurlCli: comando cURL gerado pelo ALIYUN::ROS::WaitConditionHandle. Execute este comando para enviar os resultados da execução dos dados do usuário ao ROS.
WindowsCurlCli: prefixo do comando cURL para Windows. Instale o curl.exe e adicione-o ao PATH antes de usar. Acrescente
-d "{\"status\": \" SUCCESS \"}para sucesso ou-d "{\"status\": \" FAILURE \"}para falha.PowerShellCurlCli: prefixo do comando cURL para PowerShell 3.0 ou posterior. Verifique sua versão com
$PSVersionTable.PSVersion. Acrescente-Body '{"status": " SUCCESS "}para sucesso ou-Body '{"status": " FAILURE "}para falha.Headers: cabeçalho da requisição HTTP POST para envio de sinais de status de execução ao seu programa.
URL: URL da requisição HTTP POST para envio de sinais de status de execução ao seu programa.
-
Use o parâmetro id (STRING) no corpo da requisição do CurlCli, WindowsCurlCli ou PowerShellCurlCli para especificar um ID de sinal.
Exemplo:
-d "{\"status\": \" SUCCESS \", \"id\": \"test\".Sinais com o mesmo ID sobrescrevem os anteriores.
Se nenhum ID de sinal for especificado, o ROS atribui automaticamente um ID inteiro igual à contagem de sinais existentes + 1.
-
Use o parâmetro
reason(STRING) para indicar o motivo do sucesso ou da falha na execução. Esse valor aparece no evento da stack que registra a notificação do sinal.Exemplo:
-d "{\"status\": \" SUCCESS \", \"reason\": \"nginx is installed successfully.\"}".O valor de
reasonfica registrado no evento correspondente da stack. -
Use o parâmetro
data(STRING) para anexar dados ao sinal. Recupere essas informações por meio dos valores de retorno Data, ErrorData ou JoinedErrorData do ALIYUN::ROS::WaitCondition.Exemplo:
-d "{\"id\" : \"ssh_pub_key\", \"data\" : \"$pub_key\"}". -
O parâmetro
statusdefine o tipo de sinal:SUCCESS,FAILUREouWARNING. Os tipos de sinal determinam o resultado da operação do recurso, seguindo esta ordem de prioridade decrescente:Um sinal
FAILUREcausa falha na operação do recurso.Se a quantidade de sinais recebidos dentro do período de tempo limite for inferior ao valor de Count, a operação expira.
Caso a contagem de sinais atinja ou ultrapasse o valor de Count, mas todos sejam do tipo
WARNING, a operação falhará.Nos demais casos, a operação será bem-sucedida.