Este tópico descreve como usar o Alibaba Cloud CLI para chamar operações de API relacionadas a stacks.
CreateStack
Use esta operação para criar uma stack.
Parameter | Type | Required | Example | Description |
--RegionId | String | Yes | cn-hangzhou | ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
--StackName | String | Yes | MyStack | Nome da stack. O nome pode ter até 255 caracteres e conter dígitos, letras, hifens (-) e sublinhados (_). Deve começar com um dígito ou letra. |
--TimeoutInMinutes | Long | Yes | 10 | Tempo limite para criação da stack.
|
--Parameters.N.ParameterKey | String | No | InstanceId | Nome do parâmetro N. Se você não especificar o nome e o valor de um parâmetro, o Resource Orchestration Service (ROS) usará o nome e o valor padrão definidos no modelo. Valor máximo de N: 200. |
--Parameters.N.ParameterValue | String | No | i-xxxxxx | Valor do parâmetro N. Valor máximo de N: 200. |
--DisableRollback | Boolean | No | false | Define se o rollback deve ser desativado quando a criação da stack falhar.
|
--TemplateBody | String | No | { "ROSTemplateFormatVersion": "2015-09-01" } | Estrutura que contém o corpo do modelo. O corpo do modelo deve ter entre 1 e 524.288 bytes. Se o tamanho do corpo do modelo exceder o limite superior, recomendamos adicionar parâmetros ao corpo da solicitação HTTP POST para evitar falhas causadas por URLs excessivamente longas. Especifique TemplateBody ou TemplateURL, mas não ambos simultaneamente. |
--StackPolicyURL | String | No | oss://ros-stack-policy/demo | URL do arquivo que contém a política da stack. A URL deve apontar para uma política localizada em um servidor web HTTP ou HTTPS, ou em um bucket do Object Storage Service (OSS), como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. O arquivo de política pode ter até 16.384 bytes. Nota Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado. Especifique StackPolicyBody ou StackPolicyURL, mas não ambos simultaneamente. A URL pode ter até 1.350 bytes. |
--StackPolicyBody | String | No | {"Statement": [{"Action": "Update:", "Resource": "", "Effect": "Allow", "Principal": "*"}]} | Estrutura que contém o corpo da política da stack. O corpo da política deve ter entre 1 e 16.384 bytes. Especifique StackPolicyBody ou StackPolicyURL, mas não ambos simultaneamente. |
--NotificationURLs.N | RepeatList | No | http://example.com/ros-event | URL de callback para receber o evento N da stack. Apenas HTTP POST é suportado.
Quando o status de uma stack muda, o ROS envia uma notificação para a URL especificada. Quando o rollback está ativado para a stack, as notificações são enviadas se a stack estiver no estado CREATE_ROLLBACK ou ROLLBACK, mas não são enviadas se a stack estiver no estado CREATE_FAILED, UPDATE_FAILED ou IN_PROGRESS. Nota
O ROS envia notificações independentemente da configuração da seção Outputs. O código de exemplo a seguir mostra o conteúdo de uma notificação: |
--TemplateURL | String | No | oss://ros-template/demo | URL do arquivo que contém o corpo do modelo. A URL deve apontar para um modelo localizado em um servidor web HTTP ou HTTPS, ou em um bucket OSS, como oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. O corpo do modelo pode ter até 524.288 bytes. Nota Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado. Especifique TemplateBody ou TemplateURL, mas não ambos simultaneamente. |
--ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | Token de cliente usado para garantir a idempotência da solicitação. Use o cliente para gerar o token, mas certifique-se de que ele seja único entre diferentes solicitações. O token pode ter até 64 caracteres e conter apenas letras, dígitos, hifens (-) e sublinhados (_). Para obter mais informações, consulte Garantir idempotência. |
Exemplo de solicitação
aliyun ros CreateStack --RegionId cn-hangzhou --StackName MyStack --TimeoutInMinutes 10 --TemplateURL oss://ros-template/demo
Exemplo de resposta de sucesso
{
"StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"RequestId": "53C2DB3A-8374-4464-9466-952614EEC159"
}
ListStacks
Use esta operação para consultar uma lista de stacks.
Parameter | Type | Required | Example | Description |
--RegionId | String | Yes | cn-hangzhou | ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
--StackName.N | RepeatList | No | MyStack | Nome da stack N. O nome pode ter até 255 caracteres e conter dígitos, letras, hifens (-) e sublinhados (_). Deve começar com um dígito ou letra. Há suporte para pesquisa difusa com o caractere curinga (*). Valores válidos de N: 1 a 5. |
--Status.N | RepeatList | No | CREATE_COMPLETE | Estado da stack N. Valores válidos:
|
--ParentStackId | String | No | fgce558a-bdd6-d52j-555b-63755971**** | ID da stack pai. |
--ShowNestedStack | Boolean | No | true | Define se stacks aninhadas devem ser retornadas. |
--PageNumber | Long | No | 1 | Número da página.
|
--PageSize | Long | No | 10 | Número de entradas por página.
|
Exemplo de solicitação
aliyun ros ListStacks --RegionId cn-hangzhou
Exemplo de resposta de sucesso
{
"PageNumber": 3,
"TotalCount": 4,
"PageSize": 1,
"RequestId": "B2B3B873-25AE-4A86-B320-8C7298628393",
"Stacks": [
{
"StatusReason": "Stack CREATE completed successfully",
"Status": "CREATE_COMPLETE",
"TimeoutInMinutes": 60,
"StackId": "aace595a-a00d-4631-858b-61134991****",
"RegionId": "cn-beijing",
"CreateTime": "2019-08-26T09:52:06",
"DisableRollback": false,
"StackName": "Test"
}
]
}
GetStack
Use esta operação para consultar informações sobre uma stack.
Parameter | Type | Required | Example | Description |
--RegionId | String | Yes | cn-hangzhou | ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
--StackId | String | Yes | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | ID da stack. |
--ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | Token de cliente usado para garantir a idempotência da solicitação. Use o cliente para gerar o token, mas certifique-se de que ele seja único entre diferentes solicitações. O token pode ter até 64 caracteres e conter apenas letras, dígitos, hifens (-) e sublinhados (_). Para obter mais informações, consulte Garantir idempotência. |
Exemplo de solicitação
aliyun ros GetStack --RegionId cn-hangzhou --StackId 628e9ed4-899b-4e64-8a8c-2a2b00e4****
Exemplo de resposta de sucesso
{
"Parameters": [
{
"ParameterValue": "22536460730754****",
"ParameterKey": "ALIYUN::AccountId"
},
{
"ParameterValue": "cn-beijing",
"ParameterKey": "ALIYUN::Region"
},
{
"ParameterValue": "628e9ed4-899b-4e64-8a8c-2a2b00e4****",
"ParameterKey": "ALIYUN::StackId"
},
{
"ParameterValue": "MyStack",
"ParameterKey": "ALIYUN::StackName"
}
],
"TimeoutInMinutes": 60,
"Description": "No description",
"StackId": "628e9ed4-899b-4e64-8a8c-2a2b00e4****",
"UpdateTime": "2019-08-26T08:27:23",
"DisableRollback": false,
"StackName": "MyStack",
"StatusReason": "Stack successfully updated",
"Status": "UPDATE_COMPLETE",
"TemplateDescription": "No description",
"CreateTime": "2019-08-26T08:26:05",
"RegionId": "cn-hangzhou",
"RequestId": "754AEAE5-C800-41EC-A64D-A08C1A4A718F"
}
UpdateStack
Use esta operação para atualizar uma stack.
Parameter | Type | Required | Example | Description |
--RegionId | String | Yes | cn-beijing | ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
--StackId | String | Yes | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | ID da stack. |
--Parameters.N.ParameterKey | String | No | InstanceId | Nome do parâmetro N. Se você não especificar o nome e o valor de um parâmetro, o ROS usará o nome e o valor padrão definidos no modelo. Valor máximo de N: 200. |
--Parameters.N.ParameterValue | String | No | i-xxxxxx | Valor do parâmetro N. Valor máximo de N: 200. |
--ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | Token de cliente usado para garantir a idempotência da solicitação. Use o cliente para gerar o token, mas certifique-se de que ele seja único entre diferentes solicitações. O token pode ter até 64 caracteres e conter apenas letras, dígitos, hifens (-) e sublinhados (_). Para obter mais informações, consulte Garantir idempotência. |
--StackPolicyDuringUpdateBody | String | No | {"Statement":[{"Effect": "Allow", "Action": "Update:", "Principal": "", "Resource": "*"}]} | Estrutura que contém o corpo da política de substituição temporária da stack. O corpo da política deve ter entre 1 e 16.384 bytes. Para atualizar recursos protegidos, especifique uma política de substituição temporária durante a atualização. Caso contrário, a política existente associada à stack será usada. Este parâmetro só tem efeito quando o conjunto de alterações é do tipo UPDATE. Especifique apenas um dos seguintes parâmetros:
|
--TimeoutInMinutes | Long | No | 10 | Tempo limite para atualização da stack.
|
--TemplateBody | String | No | { "ROSTemplateFormatVersion": "2015-09-01" } | Estrutura que contém o corpo do modelo. O corpo do modelo deve ter entre 1 e 524.288 bytes. Se o tamanho do corpo do modelo exceder o limite superior, recomendamos adicionar parâmetros ao corpo da solicitação HTTP POST para evitar falhas causadas por URLs excessivamente longas. Especifique TemplateBody ou TemplateURL, mas não ambos simultaneamente. |
--StackPolicyURL | String | No | oss://ros-stack-policy/demo | URL do arquivo que contém a política da stack. A URL deve apontar para uma política localizada em um servidor web HTTP ou HTTPS, ou em um bucket OSS, como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. O arquivo de política pode ter até 16.384 bytes. Nota Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado. Especifique StackPolicyBody ou StackPolicyURL, mas não ambos simultaneamente. A URL pode ter até 1.350 bytes. |
--StackPolicyDuringUpdateURL | String | No | oss://ros-stack-policy/demo | URL do arquivo que contém a política de atualização da stack. A URL deve apontar para uma política localizada em um servidor web HTTP ou HTTPS, ou em um bucket OSS, como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. O arquivo de política pode ter até 16.384 bytes. Nota Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado. A URL pode ter até 1.350 bytes. Para atualizar recursos protegidos, especifique uma política de substituição temporária durante a atualização. Caso contrário, a política existente associada à stack será usada. Este parâmetro só tem efeito quando o conjunto de alterações é do tipo UPDATE. Especifique apenas um dos seguintes parâmetros:
|
--StackPolicyBody | String | No | {"Statement": [{"Action": "Update:", "Resource": "", "Effect": "Allow", "Principal": "*"}]} | Estrutura que contém o corpo da política da stack. O corpo da política deve ter entre 1 e 16.384 bytes. Especifique StackPolicyBody ou StackPolicyURL, mas não ambos simultaneamente. |
--UsePreviousParameters | Boolean | No | true | Define se os valores especificados na solicitação anterior devem ser usados para os parâmetros não especificados na solicitação atual. |
--DisableRollback | Boolean | No | false | Define se o rollback deve ser desativado quando a atualização da stack falhar. Valores válidos:
|
--TemplateURL | String | No | oss://ros-template/demo | URL do arquivo que contém o corpo do modelo. A URL deve apontar para um modelo localizado em um servidor web HTTP ou HTTPS, ou em um bucket OSS, como oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. O corpo do modelo pode ter até 524.288 bytes. Nota Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado. Especifique TemplateBody ou TemplateURL, mas não ambos simultaneamente. A URL pode ter até 1.024 bytes. |
Exemplo de solicitação
aliyun ros UpdateStack --RegionId cn-hangzhou --StackId c18d62d8-51ce-4e8e-b8f6-e00be431****
Exemplo de resposta de sucesso
{
"StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"RequestId": "53C2DB3A-8374-4464-9466-952614EEC467"
}
PreviewStack
Use esta operação para visualizar informações sobre uma stack que você deseja criar com base em um modelo.
Parameter | Type | Required | Example | Description |
--RegionId | String | Yes | cn-beijing | ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
--StackName | String | Yes | MyStack | Nome da stack. O nome pode ter até 255 caracteres e conter dígitos, letras, hifens (-) e sublinhados (_). Deve começar com um dígito ou letra. Há suporte para pesquisa difusa com o caractere curinga (*). |
--TimeoutInMinutes | Long | Yes | 10 | Tempo limite para criação da stack.
|
--Parameters.N.ParameterValue | String | No | ecs.cm4.6xlarge | Valor do parâmetro N. Valor máximo de N: 200. |
--Parameters.N.ParameterKey | String | No | InstanceType | Nome do parâmetro N. Se você não especificar o nome e o valor de um parâmetro, o ROS usará o nome e o valor padrão definidos no modelo. Valor máximo de N: 200. |
--DisableRollback | Boolean | No | false | Define se o rollback deve ser desativado quando a criação da stack falhar.
|
--TemplateBody | String | No | { "ROSTemplateFormatVersion": "2015-09-01" } | Estrutura que contém o corpo do modelo. O corpo do modelo deve ter entre 1 e 524.288 bytes. Se o tamanho do corpo do modelo exceder o limite superior, recomendamos adicionar parâmetros ao corpo da solicitação HTTP POST para evitar falhas causadas por URLs excessivamente longas. Especifique TemplateBody ou TemplateURL, mas não ambos simultaneamente. |
--StackPolicyURL | String | No | oss://ros-stack-policy/demo | URL do arquivo que contém a política da stack. A URL deve apontar para uma política localizada em um servidor web HTTP ou HTTPS, ou em um bucket OSS, como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. O arquivo de política pode ter até 16.384 bytes. Nota Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado. Especifique StackPolicyBody ou StackPolicyURL, mas não ambos simultaneamente. A URL pode ter até 1.350 bytes. |
--StackPolicyBody | String | No | {"Statement": [{"Action": "Update:", "Resource": "", "Effect": "Allow", "Principal": "*"}]} | Estrutura que contém o corpo da política da stack. O corpo da política deve ter entre 1 e 16.384 bytes. Especifique StackPolicyBody ou StackPolicyURL, mas não ambos simultaneamente. |
--TemplateURL | String | No | oss://ros-template/demo | URL do arquivo que contém o corpo do modelo. A URL deve apontar para um modelo localizado em um servidor web HTTP ou HTTPS, ou em um bucket OSS, como oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. O corpo do modelo pode ter até 524.288 bytes. Nota Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado. Especifique TemplateBody ou TemplateURL, mas não ambos simultaneamente. |
--ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | Token de cliente usado para garantir a idempotência da solicitação. Use o cliente para gerar o token, mas certifique-se de que ele seja único entre diferentes solicitações. O token pode ter até 64 caracteres e conter apenas letras, dígitos, hifens (-) e sublinhados (_). Para obter mais informações, consulte Garantir idempotência. |
Exemplo de solicitação
aliyun ros PreviewStack --RegionId cn-beijing --StackName PreStack --TimeoutInMinutes 10
Exemplo de resposta de sucesso
{
"Stack": {
"Parameters": [
{
"ParameterValue": "26492326756309****",
"ParameterKey": "ALIYUN::AccountId"
},
{
"ParameterValue": "None",
"ParameterKey": "ALIYUN::NoValue"
},
{
"ParameterValue": "cn-hangzou",
"ParameterKey": "ALIYUN::Region"
},
{
"ParameterValue": "None",
"ParameterKey": "ALIYUN::StackId"
},
{
"ParameterValue": "PreStack",
"ParameterKey": "ALIYUN::StackName"
}
],
"TemplateDescription": "No description",
"Description": "No description",
"TimeoutInMinutes": 10,
"RegionId": "cn-hangzou",
"DisableRollback": false,
"Resources": [],
"StackName": "PreStack"
},
"RequestId": "0400B1C6-0CD5-4E6B-A674-9A2507ED07B5"
}
DeleteStack
Use esta operação para excluir uma stack e todos os seus recursos.
|
Parameter |
Type |
Required |
Example |
Description |
|
--RegionId |
String |
Yes |
cn-hangzhou |
ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
|
--StackId |
String |
Yes |
4a6c9851-3b0f-4f5f-b4ca-a14bf691f2ff |
ID da stack. |
|
--RetainAllResources |
Boolean |
No |
false |
Define se os recursos da stack devem ser mantidos. |
Exemplo de solicitação
aliyun ros DeleteStack --RegionId cn-hangzhou --StackId 3763bb21-5aa2-4a46-86ec-4b149b2f****
Exemplo de resposta de sucesso
{
"RequestId": "DC2C269B-C29C-4F07-9A6F-6CE47A267A2F"
}
CancelUpdateStack
Use esta operação para cancelar a atualização de uma stack.
Parameter | Type | Required | Example | Description |
--RegionId | String | Yes | cn-hangzhou | ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
--StackId | String | Yes | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | ID da stack. |
--CancelType | String | No | Safe | Método para cancelar a atualização da stack. Recomendamos definir DisableRollback como true. Valores válidos:
|
Exemplo de solicitação
aliyun ros CancelUpdateStack --RegionId cn-hangzhou --StackId c18d62d8-51ce-4e8e-b8f6-e00be431****
Exemplo de resposta de sucesso
{
"RequestId":"F5DFBC9B-1604-4281-B52C-BB35B96018C5"
}
ContinueCreateStack
Use esta operação para continuar a criação de uma stack após uma falha na criação.
|
Parameter |
Type |
Required |
Example |
Description |
|
--RegionId |
String |
Yes |
cn-hangzhou |
ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
|
--StackId |
String |
Yes |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
ID da stack. |
|
--RecreatingResources.N |
RepeatList |
No |
WebServer |
Recurso N que o ROS continua a criar após a falha na criação do recurso. Adicione novos recursos à lista de recursos que o ROS continua a criar. O ROS também criará todas as dependências dos novos recursos. |
Exemplo de solicitação
aliyun ros ContinueCreateStack --RegionId cn-hangzhou --StackId c18d62d8-51ce-4e8e-b8f6-e00be43****
Exemplo de resposta de sucesso
{
"StackId":"c18d62d8-51ce-4e8e-b8f6-e00be431****",
"RequestId":"E7C8199F-2DC4-4D1B-BA5E-7860BF3A530C"
}
ListStackEvents
Use esta operação para consultar uma stack e os eventos dos recursos nela contidos.
Parameter | Type | Required | Example | Description |
--RegionId | String | Yes | cn-hangzhou | ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
--StackId | String | Yes | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | ID da stack. |
--Status.N | RepeatList | No | CREATE_IN_PROGRESS | Estado do recurso N. Valores válidos:
|
--ResourceType.N | RepeatList | No | ALIYUN::ECS::Instance | Tipo de recurso N. Valor máximo de N: 200. |
--PageNumber | Long | No | 1 | Número da página.
|
--PageSize | Long | No | 10 | Número de entradas por página.
|
Exemplo de solicitação
aliyun ros ListStackEvents --RegionId cn-hangzhou --StackId c18d62d8-51ce-4e8e-b8f6-e00be431****
Exemplo de resposta de sucesso
{
"PageNumber": 1,
"TotalCount": 2,
"PageSize": 10,
"RequestId": "2AE74AAF-F467-4476-AC0E-208C5AE66666",
"Events": [
{
"StatusReason": "Stack CREATE completed successfully",
"Status": "CREATE_COMPLETE",
"PhysicalResourceId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"LogicalResourceId": "test_stack",
"ResourceType": "ALIYUN::ROS::Stack",
"StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"CreateTime": "2019-09-05T01:27:58",
"EventId": "51cc568c-4112-4507-aa8b-d432af5b****",
"StackName": "MyStack"
},
{
"StatusReason": "Stack CREATE started",
"Status": "CREATE_IN_PROGRESS",
"PhysicalResourceId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"LogicalResourceId": "test_stack",
"ResourceType": "ALIYUN::ROS::Stack",
"StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"CreateTime": "2019-09-05T01:27:58",
"EventId": "5b9161fc-d4a1-46ef-bbde-a06cceeb****",
"StackName": "MyStack"
}
]
}