public static CloudFormationObject And(ACloudFormationExpression left, ACloudFormationExpression right) => new CloudFormationObject { ["Fn::And"] = new CloudFormationList { left, right } };
public static CloudFormationObject Sub(string formatString, ACloudFormationExpression parameters) => new CloudFormationObject { ["Fn::Sub"] = new CloudFormationList { Literal(formatString), parameters } };
public static CloudFormationObject Split(string delimiter, ACloudFormationExpression value) => new CloudFormationObject { ["Fn::Split"] = new CloudFormationList { Literal(delimiter), value } };
public static CloudFormationObject Select(int index, ACloudFormationExpression list) => new CloudFormationObject { ["Fn::Select"] = new CloudFormationList { Literal(index), list } };
public static CloudFormationObject Equals(ACloudFormationExpression left, ACloudFormationExpression right) => new CloudFormationObject { ["Fn::Equals"] = new CloudFormationList { left, right } };
public static CloudFormationObject If(string condition, ACloudFormationExpression ifTrue, ACloudFormationExpression ifFalse) => new CloudFormationObject { ["Fn::If"] = new CloudFormationList { Literal(condition), ifTrue, ifFalse } };
public static CloudFormationObject ImportValue(ACloudFormationExpression expression) => new CloudFormationObject { ["Fn::ImportValue"] = new CloudFormationList { expression } };
public static CloudFormationObject Not(ACloudFormationExpression expression) => new CloudFormationObject { ["Fn::Not"] = new CloudFormationList { expression } };
//--- Constructors --- public KeyValuePair(string key, ACloudFormationExpression value) { Key = key; Value = value; }