Funções - AWS Elastic Beanstalk

Funções

Você pode usar funções em seus arquivos de configuração para preencher valores de propriedades de recursos com informações de outros recursos ou das definições de opção de configuração do Elastic Beanstalk. O Elastic Beanstalk é compatível com as funções do AWS CloudFormation (Ref, Fn::GetAtt, Fn::Join) e uma função específica do Elastic Beanstalk, Fn::GetOptionSetting.

Ref.

Use Ref para recuperar a representação de string padrão de um recurso da AWS. O valor retornado por Refdepende do tipo de recurso e, às vezes, depende também de outros fatores. Por exemplo, um grupo de segurança (AWS::EC2::SecurityGroup) retorna o nome ou o ID do grupo de segurança, dependendo se ele estiver em uma Amazon Virtual Private Cloud (Amazon VPC) padrão, um EC2 clássico ou uma VPC personalizada.

{ "Ref" : "resource name" }
nota

Para obter detalhes sobre cada tipo de recurso, incluindo os valores de retorno de Ref, consulte Referência de tipos de recursos da AWS no Guia do usuário do AWS CloudFormation.

No gancho do ciclo de vida do Auto Scaling de exemplo:

Resources: lifecyclehook: Type: AWS::AutoScaling::LifecycleHook Properties: AutoScalingGroupName: { "Ref" : "AWSEBAutoScalingGroup" }

Você também pode usar o Ref para recuperar o valor de um parâmetro do AWS CloudFormation; definido em outro lugar no mesmo arquivo ou em um arquivo de configuração diferente.

Fn::GetAtt

Use Fn::GetAtt para recuperar o valor de um atributo em um recurso da AWS.

{ "Fn::GetAtt" : [ "resource name", "attribute name"] }

No gancho do ciclo de vida do Auto Scaling de exemplo:

Resources: lifecyclehook: Type: AWS::AutoScaling::LifecycleHook Properties: RoleARN: { "Fn::GetAtt" : [ "hookrole", "Arn"] }

Consulte Fn::GetAtt para obter mais informações.

Fn::Join

Use Fn::Join para combinar strings com um delimitador. As strings podem ser codificadas ou usar a saída de Fn::GetAtt ou Ref.

{ "Fn::Join" : [ "delimiter", [ "string1", "string2" ] ] }

Consulte Fn::Join para obter mais informações.

Fn::GetOptionSetting

Use Fn::GetOptionSetting para recuperar o valor de uma definição de opção de configuração aplicada ao ambiente.

"Fn::GetOptionSetting": Namespace: "namespace" OptionName: "option name" DefaultValue: "default value"

No exemplo de armazenamento de chaves privadas:

Resources: AWSEBAutoScalingGroup: Metadata: AWS::CloudFormation::Authentication: S3Auth: type: "s3" buckets: ["elasticbeanstalk-us-west-2-123456789012"] roleName: "Fn::GetOptionSetting": Namespace: "aws:autoscaling:launchconfiguration" OptionName: "IamInstanceProfile" DefaultValue: "aws-elasticbeanstalk-ec2-role"