Os pseudoparâmetros são parâmetros que são predefinidos pelo AWS CloudFormation. Você não os declará-las em seu modelo. Use-os da mesma forma como usaria um parâmetro, como o argumento para a função Ref
.
Exemplo
O trecho a seguir atribui o valor do pseudoparâmetro AWS::Region
a um valor de saída:
JSON
"Outputs" : {
"MyStacksRegion" : { "Value" : { "Ref" : "AWS::Region" } }
}
YAML
Outputs:
MyStacksRegion:
Value: !Ref "AWS::Region"
AWS::AccountId
Apresenta o ID da conta da AWSna qual a pilha está sendo criada, como 123456789012
.
AWS::NotificationARNs
Retorna a lista de Nomes de recursos da Amazon (ARNs) de notificação para a pilha atual.
Para obter um único ARN da lista, use Fn::Select.
JSON
"myASGrpOne" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Version" : "2009-05-15",
"Properties" : {
"AvailabilityZones" : [ "us-east-1a" ],
"LaunchConfigurationName" : { "Ref" : "MyLaunchConfiguration" },
"MinSize" : "0",
"MaxSize" : "0",
"NotificationConfigurations" : [{
"TopicARN" : { "Fn::Select" : [ "0", { "Ref" : "AWS::NotificationARNs" } ] },
"NotificationTypes" : [ "autoscaling:EC2_INSTANCE_LAUNCH", "autoscaling:EC2_INSTANCE_LAUNCH_ERROR" ]
}]
}
}
YAML
myASGrpOne:
Type: AWS::AutoScaling::AutoScalingGroup
Version: '2009-05-15'
Properties:
AvailabilityZones:
- "us-east-1a"
LaunchConfigurationName:
Ref: MyLaunchConfiguration
MinSize: '0'
MaxSize: '0'
NotificationConfigurations:
- TopicARN:
Fn::Select:
- '0'
- Ref: AWS::NotificationARNs
NotificationTypes:
- autoscaling:EC2_INSTANCE_LAUNCH
- autoscaling:EC2_INSTANCE_LAUNCH_ERROR
AWS::NoValue
Remove a propriedade do recurso correspondente quando especificada como um valor de retorno na função intrínseca Fn::If
.
Por exemplo, você pode usar o parâmetro AWS::NoValue
quando desejar usar um snapshot para uma instância de banco de dados do Amazon RDS apenas se o ID do snapshot for fornecida. Se a condição UseDBSnapshot
for avaliada como verdadeira, o CloudFormation usará o valor do parâmetro DBSnapshotName
para a propriedade DBSnapshotIdentifier
. Se a condição for avaliada como falsa, o CloudFormation removerá a propriedade DBSnapshotIdentifier
.
JSON
"MyDB" : {
"Type" : "AWS::RDS::DBInstance",
"Properties" : {
"AllocatedStorage" : "5",
"DBInstanceClass" : "db.t2.small",
"Engine" : "MySQL",
"EngineVersion" : "5.5",
"MasterUsername" : { "Ref" : "DBUser" },
"MasterUserPassword" : { "Ref" : "DBPassword" },
"DBParameterGroupName" : { "Ref" : "MyRDSParamGroup" },
"DBSnapshotIdentifier" : {
"Fn::If" : [
"UseDBSnapshot",
{"Ref" : "DBSnapshotName"},
{"Ref" : "AWS::NoValue"}
]
}
}
}
YAML
MyDB:
Type: AWS::RDS::DBInstance
Properties:
AllocatedStorage: '5'
DBInstanceClass: db.t2.small
Engine: MySQL
EngineVersion: '5.5'
MasterUsername:
Ref: DBUser
MasterUserPassword:
Ref: DBPassword
DBParameterGroupName:
Ref: MyRDSParamGroup
DBSnapshotIdentifier:
Fn::If:
- UseDBSnapshot
- Ref: DBSnapshotName
- Ref: AWS::NoValue
AWS::Partition
Retorna a partição onde o recurso se encontra. Para regiões padrão da AWS a partição é aws
. Para recursos em outras partições, a partição é aws-
nomedapartição
. Por exemplo, a partição dos recursos na região da China (Pequim e Ningxia) é aws-cn
, e a partição para recursos na região AWS GovCloud (EUA-Oeste) é aws-us-gov
.
AWS::Region
Retorna uma sequência que representa a região na qual o recurso abrangente está sendo criado, como us-west-2
.
AWS::StackId
Retorna o ID da pilha conforme especificado com o comando aws cloudformation create-stack
, como arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123
.
AWS::StackName
Retorna o nome da pilha conforme especificado com o comando aws cloudformation create-stack
, como teststack
.
AWS::URLSuffix
Retorna o sufixo para um domínio. O sufixo geralmente é amazonaws.com
, mas pode variar de acordo com a região. Por exemplo, o sufixo da região China (Pequim) é amazonaws.com.cn
.