The Quick Start szablony są dobre, pół-oficjalny punkt odniesienia, jak skomplikowane szablony mogą/powinny być tworzone, a ich wdrożenie wartości logiczne dla zasobów warunkowych dokładnie tak, jak to opisano, stosując String
z AllowedValues
true
i false
. Oto konkretne example:
"EnableBanner": {
"AllowedValues": [
"true",
"false"
],
"Default": "false",
"Description": "To include a banner to be displayed when connecting via SSH to the bastion, set this parameter to true",
"Type": "String"
}
Podobny przykład można znaleźć w przykładzie z dokumentacji CloudFormation, gdzie AllowedValues
są default
lub NONE
(domyślnie) Conditionally use an existing resource.
warunkowo utworzyć zasób w oparciu o taką logiczną parametru dodasz Condition oświadczenia zawierającego Fn::Equals
wewnętrzną funkcję dopasowania true
, a następnie dodać Condition
klucz do zasobu.
Oto kompletna, minimalny przykład szablon:
Parameters:
CreateResource:
Description: Whether I should create a resource.
Default: false
Type: String
AllowedValues: [true, false]
Conditions:
ShouldCreateResource:
!Equals [true, !Ref CreateResource]
Resources:
Resource:
Type: AWS::CloudFormation::WaitConditionHandle
Condition: ShouldCreateResource
Dlaczego nie używać kluczy parę zamiast? Jaki jest twój przypadek użycia? –
Jak działają pary kluczy? Przypadek użycia jest taki, jak określono w pytaniu - warunkowe tworzenie zasobów w szablonie na podstawie parametru wejściowego. –