Skip to main content

Module consts

Module consts 

Source

Constants§

BOOLEAN_FN_KEYS
Keys that identify a well-formed boolean condition expression when used as the sole key of a single-key mapping. Inputs to Fn::And, Fn::Or, and Fn::Not must be one of these.
CDK_METADATA_TYPE
CLOUDFORMATION_STACK_TYPE
CONDITION_REF_PREFIX
DEFAULT_ACCOUNT_ID
DEFAULT_STACK_NAME
DYNAMODB_TABLE_TYPE
EDGE_KIND_CONDITION
EDGE_KIND_DEPENDS_ON
EDGE_KIND_GET_ATT
EDGE_KIND_REF
EDGE_KIND_SELECT
EDGE_KIND_SUB
EQUALS_ARG_FN_KEYS
Intrinsic functions whose output can stand in for an Fn::Equals argument. An Fn::Equals argument that is a single-key mapping must use one of these keys to be considered well-formed. An Fn::Equals operand must resolve to a scalar, so only the string/value-producing functions are permitted. Boolean and reference-shaped functions (Fn::And/Fn::Or/Fn::Not, a nested Fn::Equals, Condition, Fn::GetAtt, Fn::GetAZs, Fn::ImportValue, Fn::Base64, and the Rules-section membership functions) produce a non-scalar and are rejected here, matching CloudFormation’s own restriction on comparison operands.
FIELD_ATTR
FIELD_CONDITION
FIELD_CONDITIONS
FIELD_CONDITION_CONTEXT
FIELD_CREATION_POLICY
FIELD_DELETION_POLICY
FIELD_DEPENDS_ON
FIELD_EDGES
FIELD_INCOMING_REFS
FIELD_KIND
FIELD_MAPPINGS
FIELD_OUTGOING_REFS
FIELD_OUTPUTS
FIELD_PARAMETERS
FIELD_PROPERTIES
FIELD_RESOURCES
FIELD_RESOURCE_TYPE
FIELD_SOURCE
FIELD_SOURCE_PATH
FIELD_TARGET
FIELD_TRANSFORMS
FIELD_UPDATE_POLICY
FIELD_UPDATE_REPLACE_POLICY
FN_AND
FN_BASE64
FN_CIDR
FN_CONDITION
FN_CONTAINS
FN_EACH_MEMBER_EQUALS
FN_EACH_MEMBER_IN
FN_EQUALS
FN_FIND_IN_MAP
FN_FOR_EACH
FN_FOR_EACH_KEY_PREFIX
FN_GET_ATT
FN_GET_AZS
FN_GET_STACK_OUTPUT
FN_IF
FN_IMPORT_VALUE
FN_JOIN
FN_LENGTH
FN_NOT
FN_OR
FN_PREFIX
FN_REF
FN_REF_ALL
FN_SELECT
FN_SPLIT
FN_SUB
FN_TO_JSON_STRING
FN_TRANSFORM
FN_VALUE_OF
FN_VALUE_OF_ALL
FORMAT_VERSION
INTRINSIC_FN_PATH_SEGMENTS
Every intrinsic-function key that the parser can write into a node’s build path. Path-based checks that ask “is this string nested inside a function?” must match against this list rather than the bare Fn:: prefix: a user map key may legitimately start with Fn:: (e.g. a Lambda environment variable named Fn::Custom) without being a function.
JOIN_PARTIAL_PREFIX
KEY_ALLOWED_PATTERN
KEY_ALLOWED_VALUES
KEY_ASSERT
KEY_ASSERTIONS
KEY_ASSERT_DESCRIPTION
KEY_CONDITION
KEY_CONSTRAINT_DESCRIPTION
KEY_CREATION_POLICY
KEY_DEFAULT
KEY_DEFAULT_VALUE
Optional fourth element of Fn::FindInMap: { "DefaultValue": ... }.
KEY_DELETION_POLICY
KEY_DEPENDS_ON
KEY_EXPORT
KEY_MAX_LENGTH
KEY_MAX_VALUE
KEY_METADATA
KEY_MIN_LENGTH
KEY_MIN_VALUE
KEY_NAME
KEY_NO_ECHO
KEY_OUTPUT_NAME
KEY_PROPERTIES
KEY_REGION
KEY_ROLE_ARN
KEY_RULE_CONDITION
KEY_STACK_NAME
Argument keys of Fn::GetStackOutput: StackName and OutputName are required; Region and RoleArn are optional. No other keys are permitted.
KEY_TYPE
KEY_UPDATE_POLICY
KEY_UPDATE_REPLACE_POLICY
KEY_VALUE
MARKER_CONDITIONAL
MARKER_DYNAMIC
MARKER_ENUM
MARKER_IF_FALSE
MARKER_IF_TRUE
MARKER_INTRINSIC
MARKER_KIND
MARKER_PARAM_TYPE
MARKER_REF
MAX_COMPLETE_SCENARIO_PRODUCT
Largest joint product of a container’s member scenarios that is enumerated in full. A list or map whose members are gated by N independent conditions has 2^N joint assignments; past this many, the product is replaced by an alternative-covering set (see resolved_value::cover_cartesian_scenarios). The covering set includes every member scenario and pair of condition states while growing linearly in the sum of member alternatives. Matches MAX_ENUM_EXPANSION so a single value never materializes more joint copies than enumerated variants.
MAX_ENUM_EXPANSION
Maximum number of concrete variants a single value may expand to during intrinsic resolution (e.g. an Fn::Join over enumerated elements). Bounds per-value combinatorial blow-up and the memory a resolved value holds; beyond it the expansion is truncated. The narrowest analysis bound - it operates on a single value.
MAX_FINGERPRINT_DEPTH
Maximum nesting depth walked while building an expression fingerprint. A subtree deeper than this yields no fingerprint at all rather than a truncated one, because a truncated fingerprint could be shared by two expressions that differ only below the cut.
MAX_FOREACH_EXPANSION_WORK
Cumulative work budget for Fn::ForEach transform expansion across all sections of a single template. Charged for every loop iteration (one unit per element emitted) and every recursive body-traversal node visited. Once exhausted, expansion stops immediately and emits a single visible transform diagnostic - no further materialization occurs, no silent truncation.
MAX_PARAM_COMBINATIONS
Largest parameter space a single satisfiability query will search. The query searches assignments of concrete values to the parameters its conditions read; the number of such assignments is the product of each parameter’s candidate values, and so is exponential in the number of distinct parameters. When that product exceeds this cap the query returns a conservative true without searching - see ConditionModel::is_satisfiable for the exact diagnostic-direction guarantee, including that through a negated use (condition_implies) a conservative true can surface an extra false-positive diagnostic.
MAX_REQUIRED_PROPERTY_COMBINATIONS
Required-property combination expansion cap. Used in the schema-validator to bound the cross-product of requiredXor/requiredOr groups.
MAX_RESOLVE_DEPTH
MAX_SAT_ITERATIONS
Per-query budget for a single satisfiability search: the maximum number of evaluation steps ConditionModel::is_satisfiable performs before returning a conservative true. This is the effective per-query work bound - MAX_PARAM_COMBINATIONS is only an O(1) pre-filter on the size of a query’s parameter space, so a query that passes that pre-filter is still explored only up to this budget.
MAX_SCENARIO_COMBINATIONS
Maximum number of distinct (value, condition-assignment) scenarios a single value may resolve into before that value’s scenario enumeration is truncated. A value composed from or gated by many conditions/parameters can take many concrete forms; this bounds that set so per-scenario rule evaluation stays bounded. This is a per-value cap only - the cumulative scenario work across an entire validation is bounded separately by MAX_TOTAL_SCENARIO_COMBINATIONS. Sits above MAX_ENUM_EXPANSION (per-value variant expansion) and below the parameter/satisfiability bounds.
MAX_SCENARIO_PRODUCT_NODES
Largest number of ResolvedValue nodes a fully enumerated joint product may materialize (scenario count times nodes per scenario). Bounds the memory of one expansion by size rather than count: a product of large member values switches to the covering set before MAX_COMPLETE_SCENARIO_PRODUCT would.
MAX_SCHEMA_MATCH_DEPTH
Schema recursive match depth. Used in the schema-validator to bound recursive schema property traversal.
MAX_SCHEMA_SCENARIO_ASSIGNMENTS
Schema scenario-assignment expansion cap per property group. Used in the schema-validator to bound the per-group satisfiability search.
MAX_SCHEMA_SCENARIO_MERGE_ATTEMPTS
Schema scenario merge-attempt budget per property group. Used in the schema-validator to bound the pairwise merge pass.
MAX_TEMPLATE_SIZE_BYTES
MAX_TOTAL_SAT_ITERATIONS
Cumulative satisfiability search budget across all queries of a single validation. MAX_SAT_ITERATIONS bounds one query, but the condition model issues a query per pairwise condition-compatibility check - quadratic in the condition count - plus per-resource and per-rule checks, so the number of queries is itself unbounded on adversarial input. This caps the total search work for one model so no template can drive validation into a denial of service.
MAX_TOTAL_SCENARIO_COMBINATIONS
Cumulative scenario-expansion budget across all values resolved during a single validation. MAX_SCENARIO_COMBINATIONS bounds one value’s expansion, but scenario resolution runs per resource property and per rule, so the number of expansions is itself unbounded on adversarial input - a template packed with many heavily-gated values would otherwise drive up to num_values * MAX_SCENARIO_COMBINATIONS of work with no global ceiling. This caps the total scenarios materialized for one model; once it is reached, further scenario resolution yields no scenarios rather than continuing to expand. Sized far above the worst legitimate template - real values resolve to a single scenario and conditional ones to a handful - while still cutting off a pathological blow-up. Mirrors the SAT path’s MAX_TOTAL_SAT_ITERATIONS (here 128x the per-value cap).
MAX_YAML_ALIAS_EXPANSION_NODES
Maximum number of YAML nodes that alias resolution may copy into one document. An alias is resolved by copying its anchored value, so nested aliases multiply: eight levels of nine aliases over a nine-element list expand a few hundred bytes into 9^8 scalars. The bound counts copied nodes across the whole document and rejects the template with a located parse error once exceeded. It is far above any template that uses anchors to share configuration (a 10 MiB template cannot author this many nodes directly) and well below the point where the copies exhaust memory.
MAX_YAML_NESTING_DEPTH
Maximum structural nesting depth the YAML loader permits before rejecting the document with a parse error. Each MappingStart or SequenceStart event increments the depth; the corresponding end event decrements it. Once the ceiling is reached, the loader sets a structural parse error and suppresses further tree construction without attempting to build or drop a recursively deep Yaml value.
OUTPUTS_PSEUDO_RESOURCE
OUTPUT_PSEUDO_RESOURCE_PREFIX
PARAM_TYPE_COMMA_DELIMITED_LIST
PARAM_TYPE_NUMBER
PARAM_TYPE_STRING
PARAM_UNKNOWN_SENTINEL
Sentinel value used by the satisfiability search to represent “any value other than the literals the parameter is compared against”. Added to the candidate-value set of a parameter (or pseudo-parameter) without an explicit AllowedValues list or override, so the SAT solver treats the symbol as a free variable that can also disagree with every literal it is compared to. Without this sentinel a parameter compared against a single literal would be pinned to that literal and the SAT solver would mark the negative branch unreachable.
POLICY_DELETE
POLICY_RETAIN
POLICY_RETAIN_EXCEPT_ON_CREATE
POLICY_SNAPSHOT
PSEUDO_ACCOUNT_ID
PSEUDO_NOTIFICATION_ARNS
PSEUDO_NO_VALUE
PSEUDO_PARAMETERS
PSEUDO_PARTITION
PSEUDO_PREFIX
PSEUDO_REGION
PSEUDO_STACK_ID
PSEUDO_STACK_NAME
PSEUDO_URL_SUFFIX
RULE_PSEUDO_RESOURCE_PREFIX
SAM_API_GLOBALS_KEY
SAM_API_STAGE_NAME
SAM_API_TYPE
SAM_APPLICATION_LOCATION
SAM_APPLICATION_TYPE
SAM_ARCHITECTURES
Valid Lambda architectures (LayerVersion CompatibleArchitectures).
SAM_AUTO_PUBLISH_ALIAS
SAM_CONNECTOR_DESTINATION
SAM_CONNECTOR_PERMISSIONS
SAM_CONNECTOR_SOURCE
SAM_CONNECTOR_TYPE
SAM_DEFINITION
SAM_DEFINITION_URI
SAM_DLQ_TYPES
Valid DeadLetterQueue target types.
SAM_EVENT_TYPE_API
SAM_EVENT_TYPE_HTTP_API
SAM_EVENT_TYPE_SCHEDULE
SAM_FUNCTION_CAPACITY_PROVIDER
SAM_FUNCTION_DEAD_LETTER_QUEUE
SAM_FUNCTION_DEPLOYMENT_PREFERENCE
SAM_FUNCTION_EVENTS
SAM_FUNCTION_GLOBALS_KEY
SAM_FUNCTION_HANDLER
SAM_FUNCTION_IMAGE_CONFIG
SAM_FUNCTION_IMAGE_URI
SAM_FUNCTION_LAYERS
SAM_FUNCTION_PACKAGE_TYPE
SAM_FUNCTION_PROVISIONED_CONCURRENCY
SAM_FUNCTION_ROLE
SAM_FUNCTION_RUNTIME
SAM_FUNCTION_SCALING_CONFIG
SAM_FUNCTION_TARGET_ARN
SAM_FUNCTION_TYPE
SAM_FUNCTION_URL_AUTH_TYPE
SAM_FUNCTION_URL_AUTH_TYPES
Valid FunctionUrlConfig auth types.
SAM_FUNCTION_URL_CONFIG
SAM_FUNCTION_VERSION_DELETION_POLICY
SAM_FUNCTION_VPC_CONFIG
SAM_GLOBALS_TYPE_MAP
Maps each Globals template-section key to the SAM resource type whose defaults it carries.
SAM_GRAPHQL_API_TYPE
SAM_GRAPHQL_AUTH
SAM_HTTP_API_GLOBALS_KEY
SAM_HTTP_API_TYPE
SAM_IMPLICIT_HTTP_API
SAM_IMPLICIT_REST_API
SAM_IMPLICIT_REST_API_STAGE
The SAM transform gives the implicit REST API a stage named Prod, whose logical id is ServerlessRestApi + Prod + Stage.
SAM_LAYER_COMPATIBLE_ARCHITECTURES
SAM_LAYER_CONTENT_URI
SAM_LAYER_RETENTION_POLICIES
Valid LayerVersion RetentionPolicy values.
SAM_LAYER_RETENTION_POLICY
SAM_LAYER_VERSION_TYPE
SAM_PACKAGE_TYPE_IMAGE
SAM_PACKAGE_TYPE_ZIP
SAM_PRIMARY_KEY_TYPE
SAM_PRIMARY_KEY_TYPES
Valid DynamoDB attribute types for a SimpleTable PrimaryKey.
SAM_SCHEDULE_PROPERTY
SAM_SERVERLESS_TYPE_PREFIX
SAM_SIMPLE_TABLE_GLOBALS_KEY
SAM_SIMPLE_TABLE_PRIMARY_KEY
SAM_SIMPLE_TABLE_TYPE
SAM_STATE_MACHINE_TYPE
SAM_TRANSFORM_ERROR_PREFIX
Message prefix shared by every SAM transform-error finding, regardless of which layer produced it.
SAM_TRANSFORM_ERROR_RULE_ID
SECTION_CONDITIONS
SECTION_DESCRIPTION
SECTION_FORMAT_VERSION
SECTION_GLOBALS
SECTION_MAPPINGS
SECTION_METADATA
SECTION_OUTPUTS
SECTION_PARAMETERS
SECTION_RESOURCES
SECTION_RULES
SECTION_TRANSFORM
SHORT_TAG_TO_FN_KEY
YAML shorthand tags map their bare suffix to the canonical Fn::-prefixed key used everywhere downstream. Ref and Condition map to themselves.
SSM_PARAMETER_VALUE_TYPE_PREFIX
SSM_SECURE_ALLOWED_PROPERTY_PATHS
Resource property paths where an ssm-secure dynamic reference is supported - the fixed set CloudFormation documents for secure-string resolution. Paths use the resource type (not the logical ID) and * for array indices.
SUB_PARTIAL_PREFIX
Prefixes of the ResolvedValue::Dynamic reason produced by a partially resolved Fn::Sub or Fn::Join, and the placeholders standing in for values the partial could not resolve. Defined once because the resolver writes them and length estimation reads them back: a partial that still carries a placeholder has no known length, and only a shared spelling keeps the reader and the writer from drifting apart.
TAG_AND
TAG_BASE64
TAG_CIDR
TAG_CONDITION
TAG_CONTAINS
TAG_EACH_MEMBER_EQUALS
TAG_EACH_MEMBER_IN
TAG_EQUALS
TAG_FIND_IN_MAP
TAG_FOR_EACH
TAG_GET_ATT
TAG_GET_AZS
TAG_GET_STACK_OUTPUT
TAG_IF
TAG_IF_EXPR
Display label for the expression form of Fn::If (the condition is itself an intrinsic rather than a named condition). This is an internal variant, not a CloudFormation tag, so it is deliberately absent from SHORT_TAG_TO_FN_KEY.
TAG_IMPORT_VALUE
TAG_JOIN
TAG_LENGTH
TAG_NOT
TAG_OR
TAG_REF
TAG_REF_ALL
TAG_SELECT
TAG_SPLIT
TAG_SUB
TAG_TO_JSON_STRING
TAG_TRANSFORM
TAG_VALUE_OF
TAG_VALUE_OF_ALL
TRANSFORM_INCLUDE
TRANSFORM_LANGUAGE_EXTENSIONS
TRANSFORM_SERVERLESS
UNRESOLVED_DYNAMIC_PLACEHOLDER
UNRESOLVED_REF_PLACEHOLDER_PREFIX
YAML_MERGE_KEY
The YAML 1.1 merge key. A mapping entry <<: <alias-or-list-of-aliases> splices the referenced mapping(s) into the enclosing mapping, with explicit keys winning over merged ones and earlier merge sources winning over later ones.

Functions§

effective_deployed_resource_type
Returns the CloudFormation resource type a transform-backed shorthand deploys as when that type affects cross-resource semantics.
is_sam_transform_error_message
Returns true when message belongs to a SAM transform-error finding.