Crie um grupo de stacks.
Um grupo de stacks é um conjunto de stacks do Resource Orchestration Service (ROS) que você gerencia como uma única unidade. Com um modelo de ROS para grupos de stacks, é possível criar stacks em contas da Alibaba Cloud distribuídas por várias regiões.
Ao criar um grupo de stacks, você pode atribuir permissões autogerenciadas ou gerenciadas pelo serviço:
Se você utilizar uma conta da Alibaba Cloud para criar um grupo de stacks autogerenciado, tanto a conta administradora quanto a conta de execução serão contas da Alibaba Cloud.
Caso você ative um diretório de recursos e utilize a conta de gerenciamento ou uma conta de administrador delegado desse diretório para criar um grupo de stacks gerenciado pelo serviço, a conta administradora será a conta de gerenciamento ou a conta de administrador delegado, e a conta de execução será um membro do diretório de recursos.
Para obter mais informações sobre grupos de stacks, consulte Visão geral.
Este tópico apresenta um exemplo de criação de um grupo de stacks autogerenciado chamado MyStackGroup usando um modelo. Neste exemplo, o ID do modelo é 5ecd1e10-b0e9-4389-a565-e4c15efc****. O ID da região do grupo de stacks é cn-hangzhou.
Depuração
Parâmetros da solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| Action | String | Sim | CreateStackGroup | A operação que você deseja executar. Defina o valor como CreateStackGroup. |
| RegionId | String | Sim | cn-hangzhou | O ID da região do grupo de stacks. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
| StackGroupName | String | Sim | MyStackGroup | O nome do grupo de stacks. O nome deve ser exclusivo dentro de uma região. O nome pode ter até 255 caracteres e conter dígitos, letras, hifens (-) e sublinhados (_). Deve começar com um dígito ou letra. |
| Description | String | Não | StackGroup Description | A descrição do grupo de stacks. A descrição deve ter de 1 a 256 caracteres. |
| TemplateBody | String | Não | {"ROSTemplateFormatVersion":"2015-09-01"} | A estrutura que contém o corpo do modelo. O corpo do modelo deve ter de 1 a 524.288 bytes. Se o tamanho do corpo exceder o limite superior, recomendamos adicionar parâmetros ao corpo da solicitação HTTP POST para evitar falhas causadas por URLs excessivamente longas. Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL e TemplateId. |
| TemplateURL | String | Não | oss://ros-template/demo | A 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 do Object Storage Service (OSS) da Alibaba Cloud, como oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. O corpo do modelo deve ter de 1 a 524.288 bytes. Caso o ID da região do bucket OSS não seja especificado, o valor do parâmetro RegionId será utilizado. Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL e TemplateId. |
| ClientToken | String | Não | 123e4567-e89b-12d3-a456-42665544**** | O token de cliente usado para garantir a idempotência da solicitação. Use o cliente para gerar esse valor, mas certifique-se de que ele seja exclusivo entre diferentes solicitações. O token pode ter até 64 caracteres e conter letras, dígitos, hifens (-) e sublinhados (_). Para mais detalhes, consulte Garantir idempotência. |
| AdministrationRoleName | String | Não | AliyunROSStackGroupAdministrationRole | O nome da função RAM especificada para a conta administradora ao criar um grupo de stacks autogerenciado. O ROS assume a função de administrador para executar operações. Se este parâmetro não for definido, o valor padrão AliyunROSStackGroupAdministrationRole será usado. O ROS utiliza a função de administrador para assumir a função de execução AliyunROSStackGroupExecutionRole e realizar operações nas stacks do grupo. O nome deve ter de 1 a 64 caracteres e pode conter letras, dígitos e hifens (-). |
| ExecutionRoleName | String | Não | AliyunROSStackGroupExecutionRole | O nome da função RAM especificada para a conta de execução ao criar um grupo de stacks autogerenciado. A função de administrador AliyunROSStackGroupAdministrationRole assume a função de execução para realizar as operações. Caso este parâmetro não seja informado, o valor padrão AliyunROSStackGroupExecutionRole será aplicado. O ROS assume a função de execução para operar as stacks pertencentes ao grupo. O nome deve ter de 1 a 64 caracteres e pode conter letras, dígitos e hifens (-). |
| TemplateId | String | Não | 5ecd1e10-b0e9-4389-a565-e4c15efc**** | O ID do modelo. Este parâmetro aplica-se a modelos compartilhados e privados. Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL e TemplateId. |
| TemplateVersion | String | Não | v1 | A versão do modelo. Se você não especificar este parâmetro, a versão mais recente será utilizada. Nota Este parâmetro só tem efeito quando o parâmetro TemplateId é especificado. |
| Parameters.N.ParameterKey | String | Sim | Amount | O nome do parâmetro N. Se o nome e o valor de um parâmetro não forem definidos, o ROS usará o nome e o valor padrão estabelecidos no modelo. Valor máximo de N: 200. Nota O parâmetro Parameters é opcional. No entanto, se você o especificar, também deverá definir o parâmetro Parameters.N.ParameterKey. |
| Parameters.N.ParameterValue | String | Sim | 12 | O valor do parâmetro N. Valor máximo de N: 200. Nota O parâmetro Parameters é opcional. Contudo, ao defini-lo, é obrigatório informar também o parâmetro Parameters.N.ParameterValue. |
| ResourceGroupId | String | Não | rg-acfmxazb4ph6aiy**** | O ID do grupo de recursos. Na ausência deste parâmetro, o grupo de stacks será adicionado ao grupo de recursos padrão. Para saber mais sobre grupos de recursos, consulte a seção "Grupo de Recursos" no tópico O que é o Resource Management?. |
| PermissionModel | String | Não | SELF_MANAGED | O modelo de permissão. Valor padrão: SELF_MANAGED. Valores válidos:
Nota Ao usar o modelo de permissão gerenciado pelo serviço para implantar stacks, verifique se sua conta é a conta de gerenciamento ou uma conta de administrador delegado no diretório de recursos e se o recurso de acesso confiável está ativado. Para mais informações, consulte Etapa 1: (Opcional) Criar uma conta de administrador delegado e Etapa 2: Ativar o acesso confiável. |
| Tags.N.Key | String | Sim | usage | A chave da tag N que você deseja adicionar ao grupo de stacks. Nota O parâmetro Tags é opcional. Se você optar por usá-lo, deverá especificar o parâmetro Tags.N.Key. |
| Tags.N.Value | String | Não | test | O valor da tag N que você deseja adicionar ao grupo de stacks. |
| AutoDeployment | Object | Não | Informações sobre as configurações de implantação automática. Nota Este parâmetro é necessário apenas se o parâmetro PermissionModel estiver definido como SERVICE_MANAGED. |
|
| Enabled | Boolean | Sim | true | Defina se a implantação automática deve ser ativada. Valores válidos:
|
| RetainStacksOnAccountRemoval | Boolean | Não | true | Indica se as stacks devem ser mantidas em um membro quando você o remove da pasta. Valores válidos:
Nota Este parâmetro é obrigatório se o parâmetro Enabled estiver definido como true. |
Para obter mais informações sobre parâmetros comuns de solicitação, consulte Parâmetros comuns.
Parâmetros de resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
RequestId |
String |
14A07460-EBE7-47CA-9757-12CC4761D47A |
O ID da solicitação. |
|
StackGroupId |
String |
2c036e78-9e82-428e-afd6-177f5d04**** |
O ID do grupo de stacks. |
Exemplos
Exemplos de solicitações
http(s)://ros.aliyuncs.com/?Action=CreateStackGroup
&RegionId=cn-hangzhou
&StackGroupName=MyStackGroup
&TemplateId=5ecd1e10-b0e9-4389-a565-e4c15efc****
&PermissionModel=SELF_MANAGED
&<Common request parameters>
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateStackGroupResponse>
<RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>
<StackGroupId>2c036e78-9e82-428e-afd6-177f5d04****</StackGroupId>
</CreateStackGroupResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "14A07460-EBE7-47CA-9757-12CC4761D47A",
"StackGroupId" : "2c036e78-9e82-428e-afd6-177f5d04****"
}
Códigos de erro
Para obter uma lista de códigos de erro, visite o Centro de Erros de API.
|
Código de erro |
Mensagem de erro |
Código de status HTTP |
Descrição |
|
CircularDependency |
Circular Dependency Found: {reason}. |
400 |
Mensagem retornada porque o modelo contém dependências circulares. reason indica a causa do erro. |
|
InvalidSchema |
{reason}. |
400 |
Mensagem retornada porque o formato do modelo é inválido. reason indica a causa do erro. |
|
InvalidTemplateAttribute |
The Referenced Attribute ({resource} {name}) is incorrect. |
400 |
Mensagem retornada porque a propriedade do recurso referenciada na seção Outputs do modelo é inválida. resource indica o nome do recurso. name indica o nome da propriedade. |
|
InvalidTemplatePropertyType |
The specified value type of ({resource} {section}) is incorrect. |
400 |
Mensagem retornada porque o tipo da propriedade do recurso definida em uma seção do modelo é inválido. resource indica o nome do recurso. section indica o nome da seção. |
|
InvalidTemplateReference |
The specified reference "{name}" (in {referencer}) is incorrect. |
400 |
Mensagem retornada porque o modelo contém uma referência inválida. name indica o nome da referência. referencer indica o nome do referenciador. |
|
InvalidTemplateSection |
The template section is invalid: {section}. |
400 |
Mensagem retornada porque o modelo contém uma seção inválida. section indica o nome da seção. |
|
InvalidTemplateVersion |
The template version is invalid: {reason}. |
400 |
Mensagem retornada porque a versão do modelo é inválida. reason indica a causa do erro. |
|
UnknownUserParameter |
The Parameter ({name}) was not defined in template. |
400 |
Mensagem retornada porque o parâmetro especificado não está definido no modelo. name indica o nome do parâmetro. |
|
UserParameterMissing |
The Parameter {name} was not provided. |
400 |
Mensagem retornada porque nenhum valor foi especificado para um parâmetro no modelo. name indica o nome do parâmetro. |
|
StackGroupExists |
The StackGroup ({name}) already exists. |
409 |
Mensagem retornada porque já existe um grupo de stacks com o mesmo nome. name indica o nome do grupo de stacks. |
|
TemplateNotFound |
The Tempalte ({ ID }) could not be found. |
404 |
Mensagem retornada porque o modelo não existe. ID indica o ID do modelo. |
|
TemplateNotFound |
The Template { ID } with version { version } could not be found. |
404 |
Mensagem retornada porque o modelo ou a versão do modelo especificada não existe. ID indica o ID do modelo. version indica a versão do modelo. |