Các Quick Start mẫu là một tốt, điểm tham chiếu bán chính thức về cách các mẫu phức tạp có thể/nên được tạo ra, và họ thực hiện các giá trị Boolean cho nguồn tài nguyên có điều kiện chính xác như bạn mô tả, sử dụng một String
với AllowedValues
true
và false
. Dưới đây là một cụ 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"
}
Một ví dụ tương tự có thể được tìm thấy trong Conditionally use an existing resource ví dụ từ các tài liệu CloudFormation, nơi AllowedValues
là default
hoặc NONE
(mặc định).
Để có điều kiện tạo ra một nguồn lực dựa trên một tham số boolean như vậy, bạn thêm một tuyên bố Condition chứa một Fn::Equals
chức năng nội tại phù hợp với true
, sau đó thêm một chìa khóa Condition
đến tài nguyên.
Dưới đây là một hoàn chỉnh, tối thiểu dụ mẫu:
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
Tại sao không sử dụng một cặp khóa để thay thế? Trường hợp sử dụng của bạn là gì? –
Cặp khóa hoạt động như thế nào? Trường hợp sử dụng được chỉ định trong câu hỏi - tạo điều kiện các tài nguyên trong mẫu dựa trên tham số đầu vào. –