package awscdk


// Represents a CloudFormation element that can be used within a Condition.
//
// You can use intrinsic functions, such as ``Fn.conditionIf``,
// ``Fn.conditionEquals``, and ``Fn.conditionNot``, to conditionally create
// stack resources. These conditions are evaluated based on input parameters
// that you declare when you create or update a stack. After you define all your
// conditions, you can associate them with resources or resource properties in
// the Resources and Outputs sections of a template.
//
// You define all conditions in the Conditions section of a template except for
// ``Fn.conditionIf`` conditions. You can use the ``Fn.conditionIf`` condition
// in the metadata attribute, update policy attribute, and property values in
// the Resources section and Outputs sections of a template.
//
// You might use conditions when you want to reuse a template that can create
// resources in different contexts, such as a test environment versus a
// production environment. In your template, you can add an EnvironmentType
// input parameter, which accepts either prod or test as inputs. For the
// production environment, you might include Amazon EC2 instances with certain
// capabilities; however, for the test environment, you want to use less
// capabilities to save costs. With conditions, you can define which resources
// are created and how they're configured for each environment type.
//
// You can use `toString` when you wish to embed a condition expression
// in a property value that accepts a `string`. For example:
//
// ```ts
// new sqs.Queue(this, 'MyQueue', {
//   queueName: Fn.conditionIf('Condition', 'Hello', 'World').toString()
// });
// ```.
type ICfnConditionExpression interface {
	IResolvable
}

// The jsii proxy for ICfnConditionExpression
type jsiiProxy_ICfnConditionExpression struct {
	jsiiProxy_IResolvable
}

