O tipo ALIYUN::ROS::CustomResource cria um recurso personalizado que executa sua própria lógica de configuração durante operações de stack.
Em modelos do ROS, use ALIYUN::ROS::CustomResource ou Custom::String para definir um recurso personalizado.
Recursos personalizados permitem incorporar lógica de configuração aos modelos. O ROS executa essa lógica durante a criação, atualização ou exclusão da stack. Visão geral de recursos personalizados.
O recurso personalizado deve enviar uma resposta para uma URL pré-assinada; caso contrário, a operação de stack falhará. ResponseURL oferece suporte à rede pública; InnerResponseURL oferece suporte à rede privada da Alibaba Cloud.
Sintaxe
{
"Type": "ALIYUN::ROS::CustomResource",
"Properties": {
"ServiceToken": String,
"Timeout": Number,
"Parameters": Map
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrições |
|
ServiceToken |
String |
Sim |
Não |
Token de serviço fornecido pelo provedor para acessar o serviço. Atualmente, há suporte para função do Function Compute, tópico do SMQ ( Simple Message Queue (formerly MNS) ), fila do SMQ e HTTP&HTTPS. Comprimento máximo: 512 caracteres. |
Valores válidos:
Exemplos:
|
|
Timeout |
Number |
Sim |
Sim |
Tempo limite, em segundos, para o provedor de serviço personalizado responder. |
|
|
Parameters |
Map |
Não |
Sim |
Parâmetros a serem passados ao provedor de serviço personalizado. Defina-os conforme as especificações do provedor. |
Nenhuma. |
Valores de retorno
Fn::GetAtt
Outputs: dados retornados pelo provedor de serviço personalizado, representados como um objeto map.
*: uma chave no map Outputs.
Exemplos
ROSTemplateFormatVersion: '2015-09-01'
Resources:
CustomResource:
Type: ALIYUN::ROS::CustomResource
Properties:
ServiceToken: acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function
Parameters:
Key1: Value1
Key2: Value2
Timeout: 60
Parameters:
Parameters:
Type: Json
Description: Parameters to be passed to service provider.
Outputs:
Outputs:
Description: Output data received from service provider.
Value:
Fn::GetAtt:
- CustomResource
- Outputs
{
"ROSTemplateFormatVersion": "2015-09-01",
"Resources": {
"CustomResource": {
"Type": "ALIYUN::ROS::CustomResource",
"Properties": {
"ServiceToken": "acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function",
"Parameters": {
"Key1": "Value1",
"Key2": "Value2"
},
"Timeout": 60
}
}
},
"Parameters": {
"Parameters": {
"Type": "Json",
"Description": "Parameters to be passed to service provider."
}
},
"Outputs": {
"Outputs": {
"Description": "Output data received from service provider.",
"Value": {
"Fn::GetAtt": [
"CustomResource",
"Outputs"
]
}
}
}
}
Observações
-
Especifique um nome para o tipo de recurso personalizado
Use ALIYUN::ROS::CustomResource como tipo de recurso ou defina seu próprio nome. Por exemplo, utilize Custom::MyCustomResourceTypeName em vez de ALIYUN::ROS::CustomResource.
O nome do tipo de recurso personalizado pode conter letras, números e os seguintes caracteres especiais:
_@-. O nome pode ter até 68 caracteres. Não é possível alterar o tipo durante uma atualização.Nomes de tipos personalizados ajudam a distinguir recursos na stack. Por exemplo, nomeie dois recursos de teste de ping como Custom::PingTester para identificá-los rapidamente.
-
Substituição de recursos personalizados durante atualizações
Não é possível substituir o PhysicalResourceId de um recurso durante uma atualização no ROS.
-
Obtenção de valores de retorno
O provedor de serviço personalizado define os valores de retorno. Recupere-os das propriedades definidas pelo provedor chamando Fn::GetAtt.