UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,152 lines (1,151 loc) 212 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p; Object.defineProperty(exports, "__esModule", { value: true }); exports.VpclatticeListenerRule = exports.VpclatticeListenerRuleTimeoutsOutputReference = exports.VpclatticeListenerRuleMatchOutputReference = exports.VpclatticeListenerRuleMatchHttpMatchOutputReference = exports.VpclatticeListenerRuleMatchHttpMatchPathMatchOutputReference = exports.VpclatticeListenerRuleMatchHttpMatchPathMatchMatchOutputReference = exports.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesList = exports.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesOutputReference = exports.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchOutputReference = exports.VpclatticeListenerRuleActionOutputReference = exports.VpclatticeListenerRuleActionForwardOutputReference = exports.VpclatticeListenerRuleActionForwardTargetGroupsList = exports.VpclatticeListenerRuleActionForwardTargetGroupsOutputReference = exports.VpclatticeListenerRuleActionFixedResponseOutputReference = void 0; exports.vpclatticeListenerRuleActionFixedResponseToTerraform = vpclatticeListenerRuleActionFixedResponseToTerraform; exports.vpclatticeListenerRuleActionFixedResponseToHclTerraform = vpclatticeListenerRuleActionFixedResponseToHclTerraform; exports.vpclatticeListenerRuleActionForwardTargetGroupsToTerraform = vpclatticeListenerRuleActionForwardTargetGroupsToTerraform; exports.vpclatticeListenerRuleActionForwardTargetGroupsToHclTerraform = vpclatticeListenerRuleActionForwardTargetGroupsToHclTerraform; exports.vpclatticeListenerRuleActionForwardToTerraform = vpclatticeListenerRuleActionForwardToTerraform; exports.vpclatticeListenerRuleActionForwardToHclTerraform = vpclatticeListenerRuleActionForwardToHclTerraform; exports.vpclatticeListenerRuleActionToTerraform = vpclatticeListenerRuleActionToTerraform; exports.vpclatticeListenerRuleActionToHclTerraform = vpclatticeListenerRuleActionToHclTerraform; exports.vpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchToTerraform = vpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchToTerraform; exports.vpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchToHclTerraform = vpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchToHclTerraform; exports.vpclatticeListenerRuleMatchHttpMatchHeaderMatchesToTerraform = vpclatticeListenerRuleMatchHttpMatchHeaderMatchesToTerraform; exports.vpclatticeListenerRuleMatchHttpMatchHeaderMatchesToHclTerraform = vpclatticeListenerRuleMatchHttpMatchHeaderMatchesToHclTerraform; exports.vpclatticeListenerRuleMatchHttpMatchPathMatchMatchToTerraform = vpclatticeListenerRuleMatchHttpMatchPathMatchMatchToTerraform; exports.vpclatticeListenerRuleMatchHttpMatchPathMatchMatchToHclTerraform = vpclatticeListenerRuleMatchHttpMatchPathMatchMatchToHclTerraform; exports.vpclatticeListenerRuleMatchHttpMatchPathMatchToTerraform = vpclatticeListenerRuleMatchHttpMatchPathMatchToTerraform; exports.vpclatticeListenerRuleMatchHttpMatchPathMatchToHclTerraform = vpclatticeListenerRuleMatchHttpMatchPathMatchToHclTerraform; exports.vpclatticeListenerRuleMatchHttpMatchToTerraform = vpclatticeListenerRuleMatchHttpMatchToTerraform; exports.vpclatticeListenerRuleMatchHttpMatchToHclTerraform = vpclatticeListenerRuleMatchHttpMatchToHclTerraform; exports.vpclatticeListenerRuleMatchToTerraform = vpclatticeListenerRuleMatchToTerraform; exports.vpclatticeListenerRuleMatchToHclTerraform = vpclatticeListenerRuleMatchToHclTerraform; exports.vpclatticeListenerRuleTimeoutsToTerraform = vpclatticeListenerRuleTimeoutsToTerraform; exports.vpclatticeListenerRuleTimeoutsToHclTerraform = vpclatticeListenerRuleTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function vpclatticeListenerRuleActionFixedResponseToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { status_code: cdktf.numberToTerraform(struct.statusCode), }; } function vpclatticeListenerRuleActionFixedResponseToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { status_code: { value: cdktf.numberToHclTerraform(struct.statusCode), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleActionFixedResponseOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._statusCode !== undefined) { hasAnyValues = true; internalValueResult.statusCode = this._statusCode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._statusCode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._statusCode = value.statusCode; } } get statusCode() { return this.getNumberAttribute('status_code'); } set statusCode(value) { this._statusCode = value; } // Temporarily expose input value. Use with caution. get statusCodeInput() { return this._statusCode; } } exports.VpclatticeListenerRuleActionFixedResponseOutputReference = VpclatticeListenerRuleActionFixedResponseOutputReference; _a = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleActionFixedResponseOutputReference[_a] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleActionFixedResponseOutputReference", version: "21.22.1" }; function vpclatticeListenerRuleActionForwardTargetGroupsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { target_group_identifier: cdktf.stringToTerraform(struct.targetGroupIdentifier), weight: cdktf.numberToTerraform(struct.weight), }; } function vpclatticeListenerRuleActionForwardTargetGroupsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { target_group_identifier: { value: cdktf.stringToHclTerraform(struct.targetGroupIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, weight: { value: cdktf.numberToHclTerraform(struct.weight), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleActionForwardTargetGroupsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._targetGroupIdentifier !== undefined) { hasAnyValues = true; internalValueResult.targetGroupIdentifier = this._targetGroupIdentifier; } if (this._weight !== undefined) { hasAnyValues = true; internalValueResult.weight = this._weight; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._targetGroupIdentifier = undefined; this._weight = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._targetGroupIdentifier = value.targetGroupIdentifier; this._weight = value.weight; } } get targetGroupIdentifier() { return this.getStringAttribute('target_group_identifier'); } set targetGroupIdentifier(value) { this._targetGroupIdentifier = value; } // Temporarily expose input value. Use with caution. get targetGroupIdentifierInput() { return this._targetGroupIdentifier; } get weight() { return this.getNumberAttribute('weight'); } set weight(value) { this._weight = value; } resetWeight() { this._weight = undefined; } // Temporarily expose input value. Use with caution. get weightInput() { return this._weight; } } exports.VpclatticeListenerRuleActionForwardTargetGroupsOutputReference = VpclatticeListenerRuleActionForwardTargetGroupsOutputReference; _b = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleActionForwardTargetGroupsOutputReference[_b] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleActionForwardTargetGroupsOutputReference", version: "21.22.1" }; class VpclatticeListenerRuleActionForwardTargetGroupsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new VpclatticeListenerRuleActionForwardTargetGroupsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VpclatticeListenerRuleActionForwardTargetGroupsList = VpclatticeListenerRuleActionForwardTargetGroupsList; _c = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleActionForwardTargetGroupsList[_c] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleActionForwardTargetGroupsList", version: "21.22.1" }; function vpclatticeListenerRuleActionForwardToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { target_groups: cdktf.listMapper(vpclatticeListenerRuleActionForwardTargetGroupsToTerraform, true)(struct.targetGroups), }; } function vpclatticeListenerRuleActionForwardToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { target_groups: { value: cdktf.listMapperHcl(vpclatticeListenerRuleActionForwardTargetGroupsToHclTerraform, true)(struct.targetGroups), isBlock: true, type: "list", storageClassType: "VpclatticeListenerRuleActionForwardTargetGroupsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleActionForwardOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // target_groups - computed: false, optional: false, required: true this._targetGroups = new VpclatticeListenerRuleActionForwardTargetGroupsList(this, "target_groups", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._targetGroups?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.targetGroups = this._targetGroups?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._targetGroups.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._targetGroups.internalValue = value.targetGroups; } } get targetGroups() { return this._targetGroups; } putTargetGroups(value) { this._targetGroups.internalValue = value; } // Temporarily expose input value. Use with caution. get targetGroupsInput() { return this._targetGroups.internalValue; } } exports.VpclatticeListenerRuleActionForwardOutputReference = VpclatticeListenerRuleActionForwardOutputReference; _d = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleActionForwardOutputReference[_d] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleActionForwardOutputReference", version: "21.22.1" }; function vpclatticeListenerRuleActionToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { fixed_response: vpclatticeListenerRuleActionFixedResponseToTerraform(struct.fixedResponse), forward: vpclatticeListenerRuleActionForwardToTerraform(struct.forward), }; } function vpclatticeListenerRuleActionToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { fixed_response: { value: vpclatticeListenerRuleActionFixedResponseToHclTerraform(struct.fixedResponse), isBlock: true, type: "list", storageClassType: "VpclatticeListenerRuleActionFixedResponseList", }, forward: { value: vpclatticeListenerRuleActionForwardToHclTerraform(struct.forward), isBlock: true, type: "list", storageClassType: "VpclatticeListenerRuleActionForwardList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleActionOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // fixed_response - computed: false, optional: true, required: false this._fixedResponse = new VpclatticeListenerRuleActionFixedResponseOutputReference(this, "fixed_response"); // forward - computed: false, optional: true, required: false this._forward = new VpclatticeListenerRuleActionForwardOutputReference(this, "forward"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._fixedResponse?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.fixedResponse = this._fixedResponse?.internalValue; } if (this._forward?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.forward = this._forward?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._fixedResponse.internalValue = undefined; this._forward.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._fixedResponse.internalValue = value.fixedResponse; this._forward.internalValue = value.forward; } } get fixedResponse() { return this._fixedResponse; } putFixedResponse(value) { this._fixedResponse.internalValue = value; } resetFixedResponse() { this._fixedResponse.internalValue = undefined; } // Temporarily expose input value. Use with caution. get fixedResponseInput() { return this._fixedResponse.internalValue; } get forward() { return this._forward; } putForward(value) { this._forward.internalValue = value; } resetForward() { this._forward.internalValue = undefined; } // Temporarily expose input value. Use with caution. get forwardInput() { return this._forward.internalValue; } } exports.VpclatticeListenerRuleActionOutputReference = VpclatticeListenerRuleActionOutputReference; _e = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleActionOutputReference[_e] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleActionOutputReference", version: "21.22.1" }; function vpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { contains: cdktf.stringToTerraform(struct.contains), exact: cdktf.stringToTerraform(struct.exact), prefix: cdktf.stringToTerraform(struct.prefix), }; } function vpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { contains: { value: cdktf.stringToHclTerraform(struct.contains), isBlock: false, type: "simple", storageClassType: "string", }, exact: { value: cdktf.stringToHclTerraform(struct.exact), isBlock: false, type: "simple", storageClassType: "string", }, prefix: { value: cdktf.stringToHclTerraform(struct.prefix), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._contains !== undefined) { hasAnyValues = true; internalValueResult.contains = this._contains; } if (this._exact !== undefined) { hasAnyValues = true; internalValueResult.exact = this._exact; } if (this._prefix !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._contains = undefined; this._exact = undefined; this._prefix = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._contains = value.contains; this._exact = value.exact; this._prefix = value.prefix; } } get contains() { return this.getStringAttribute('contains'); } set contains(value) { this._contains = value; } resetContains() { this._contains = undefined; } // Temporarily expose input value. Use with caution. get containsInput() { return this._contains; } get exact() { return this.getStringAttribute('exact'); } set exact(value) { this._exact = value; } resetExact() { this._exact = undefined; } // Temporarily expose input value. Use with caution. get exactInput() { return this._exact; } get prefix() { return this.getStringAttribute('prefix'); } set prefix(value) { this._prefix = value; } resetPrefix() { this._prefix = undefined; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix; } } exports.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchOutputReference = VpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchOutputReference; _f = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchOutputReference[_f] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchOutputReference", version: "21.22.1" }; function vpclatticeListenerRuleMatchHttpMatchHeaderMatchesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { case_sensitive: cdktf.booleanToTerraform(struct.caseSensitive), name: cdktf.stringToTerraform(struct.name), match: vpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchToTerraform(struct.match), }; } function vpclatticeListenerRuleMatchHttpMatchHeaderMatchesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { case_sensitive: { value: cdktf.booleanToHclTerraform(struct.caseSensitive), isBlock: false, type: "simple", storageClassType: "boolean", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, match: { value: vpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchToHclTerraform(struct.match), isBlock: true, type: "list", storageClassType: "VpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleMatchHttpMatchHeaderMatchesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // match - computed: false, optional: false, required: true this._match = new VpclatticeListenerRuleMatchHttpMatchHeaderMatchesMatchOutputReference(this, "match"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._caseSensitive !== undefined) { hasAnyValues = true; internalValueResult.caseSensitive = this._caseSensitive; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._match?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.match = this._match?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._caseSensitive = undefined; this._name = undefined; this._match.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._caseSensitive = value.caseSensitive; this._name = value.name; this._match.internalValue = value.match; } } get caseSensitive() { return this.getBooleanAttribute('case_sensitive'); } set caseSensitive(value) { this._caseSensitive = value; } resetCaseSensitive() { this._caseSensitive = undefined; } // Temporarily expose input value. Use with caution. get caseSensitiveInput() { return this._caseSensitive; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get match() { return this._match; } putMatch(value) { this._match.internalValue = value; } // Temporarily expose input value. Use with caution. get matchInput() { return this._match.internalValue; } } exports.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesOutputReference = VpclatticeListenerRuleMatchHttpMatchHeaderMatchesOutputReference; _g = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleMatchHttpMatchHeaderMatchesOutputReference[_g] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesOutputReference", version: "21.22.1" }; class VpclatticeListenerRuleMatchHttpMatchHeaderMatchesList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new VpclatticeListenerRuleMatchHttpMatchHeaderMatchesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesList = VpclatticeListenerRuleMatchHttpMatchHeaderMatchesList; _h = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleMatchHttpMatchHeaderMatchesList[_h] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleMatchHttpMatchHeaderMatchesList", version: "21.22.1" }; function vpclatticeListenerRuleMatchHttpMatchPathMatchMatchToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { exact: cdktf.stringToTerraform(struct.exact), prefix: cdktf.stringToTerraform(struct.prefix), }; } function vpclatticeListenerRuleMatchHttpMatchPathMatchMatchToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { exact: { value: cdktf.stringToHclTerraform(struct.exact), isBlock: false, type: "simple", storageClassType: "string", }, prefix: { value: cdktf.stringToHclTerraform(struct.prefix), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleMatchHttpMatchPathMatchMatchOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._exact !== undefined) { hasAnyValues = true; internalValueResult.exact = this._exact; } if (this._prefix !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._exact = undefined; this._prefix = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._exact = value.exact; this._prefix = value.prefix; } } get exact() { return this.getStringAttribute('exact'); } set exact(value) { this._exact = value; } resetExact() { this._exact = undefined; } // Temporarily expose input value. Use with caution. get exactInput() { return this._exact; } get prefix() { return this.getStringAttribute('prefix'); } set prefix(value) { this._prefix = value; } resetPrefix() { this._prefix = undefined; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix; } } exports.VpclatticeListenerRuleMatchHttpMatchPathMatchMatchOutputReference = VpclatticeListenerRuleMatchHttpMatchPathMatchMatchOutputReference; _j = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleMatchHttpMatchPathMatchMatchOutputReference[_j] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleMatchHttpMatchPathMatchMatchOutputReference", version: "21.22.1" }; function vpclatticeListenerRuleMatchHttpMatchPathMatchToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { case_sensitive: cdktf.booleanToTerraform(struct.caseSensitive), match: vpclatticeListenerRuleMatchHttpMatchPathMatchMatchToTerraform(struct.match), }; } function vpclatticeListenerRuleMatchHttpMatchPathMatchToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { case_sensitive: { value: cdktf.booleanToHclTerraform(struct.caseSensitive), isBlock: false, type: "simple", storageClassType: "boolean", }, match: { value: vpclatticeListenerRuleMatchHttpMatchPathMatchMatchToHclTerraform(struct.match), isBlock: true, type: "list", storageClassType: "VpclatticeListenerRuleMatchHttpMatchPathMatchMatchList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleMatchHttpMatchPathMatchOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // match - computed: false, optional: false, required: true this._match = new VpclatticeListenerRuleMatchHttpMatchPathMatchMatchOutputReference(this, "match"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._caseSensitive !== undefined) { hasAnyValues = true; internalValueResult.caseSensitive = this._caseSensitive; } if (this._match?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.match = this._match?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._caseSensitive = undefined; this._match.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._caseSensitive = value.caseSensitive; this._match.internalValue = value.match; } } get caseSensitive() { return this.getBooleanAttribute('case_sensitive'); } set caseSensitive(value) { this._caseSensitive = value; } resetCaseSensitive() { this._caseSensitive = undefined; } // Temporarily expose input value. Use with caution. get caseSensitiveInput() { return this._caseSensitive; } get match() { return this._match; } putMatch(value) { this._match.internalValue = value; } // Temporarily expose input value. Use with caution. get matchInput() { return this._match.internalValue; } } exports.VpclatticeListenerRuleMatchHttpMatchPathMatchOutputReference = VpclatticeListenerRuleMatchHttpMatchPathMatchOutputReference; _k = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleMatchHttpMatchPathMatchOutputReference[_k] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleMatchHttpMatchPathMatchOutputReference", version: "21.22.1" }; function vpclatticeListenerRuleMatchHttpMatchToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { method: cdktf.stringToTerraform(struct.method), header_matches: cdktf.listMapper(vpclatticeListenerRuleMatchHttpMatchHeaderMatchesToTerraform, true)(struct.headerMatches), path_match: vpclatticeListenerRuleMatchHttpMatchPathMatchToTerraform(struct.pathMatch), }; } function vpclatticeListenerRuleMatchHttpMatchToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { method: { value: cdktf.stringToHclTerraform(struct.method), isBlock: false, type: "simple", storageClassType: "string", }, header_matches: { value: cdktf.listMapperHcl(vpclatticeListenerRuleMatchHttpMatchHeaderMatchesToHclTerraform, true)(struct.headerMatches), isBlock: true, type: "list", storageClassType: "VpclatticeListenerRuleMatchHttpMatchHeaderMatchesList", }, path_match: { value: vpclatticeListenerRuleMatchHttpMatchPathMatchToHclTerraform(struct.pathMatch), isBlock: true, type: "list", storageClassType: "VpclatticeListenerRuleMatchHttpMatchPathMatchList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleMatchHttpMatchOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // header_matches - computed: false, optional: true, required: false this._headerMatches = new VpclatticeListenerRuleMatchHttpMatchHeaderMatchesList(this, "header_matches", false); // path_match - computed: false, optional: true, required: false this._pathMatch = new VpclatticeListenerRuleMatchHttpMatchPathMatchOutputReference(this, "path_match"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._method !== undefined) { hasAnyValues = true; internalValueResult.method = this._method; } if (this._headerMatches?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.headerMatches = this._headerMatches?.internalValue; } if (this._pathMatch?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.pathMatch = this._pathMatch?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._method = undefined; this._headerMatches.internalValue = undefined; this._pathMatch.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._method = value.method; this._headerMatches.internalValue = value.headerMatches; this._pathMatch.internalValue = value.pathMatch; } } get method() { return this.getStringAttribute('method'); } set method(value) { this._method = value; } resetMethod() { this._method = undefined; } // Temporarily expose input value. Use with caution. get methodInput() { return this._method; } get headerMatches() { return this._headerMatches; } putHeaderMatches(value) { this._headerMatches.internalValue = value; } resetHeaderMatches() { this._headerMatches.internalValue = undefined; } // Temporarily expose input value. Use with caution. get headerMatchesInput() { return this._headerMatches.internalValue; } get pathMatch() { return this._pathMatch; } putPathMatch(value) { this._pathMatch.internalValue = value; } resetPathMatch() { this._pathMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. get pathMatchInput() { return this._pathMatch.internalValue; } } exports.VpclatticeListenerRuleMatchHttpMatchOutputReference = VpclatticeListenerRuleMatchHttpMatchOutputReference; _l = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleMatchHttpMatchOutputReference[_l] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleMatchHttpMatchOutputReference", version: "21.22.1" }; function vpclatticeListenerRuleMatchToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { http_match: vpclatticeListenerRuleMatchHttpMatchToTerraform(struct.httpMatch), }; } function vpclatticeListenerRuleMatchToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { http_match: { value: vpclatticeListenerRuleMatchHttpMatchToHclTerraform(struct.httpMatch), isBlock: true, type: "list", storageClassType: "VpclatticeListenerRuleMatchHttpMatchList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleMatchOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // http_match - computed: false, optional: false, required: true this._httpMatch = new VpclatticeListenerRuleMatchHttpMatchOutputReference(this, "http_match"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._httpMatch?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.httpMatch = this._httpMatch?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._httpMatch.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._httpMatch.internalValue = value.httpMatch; } } get httpMatch() { return this._httpMatch; } putHttpMatch(value) { this._httpMatch.internalValue = value; } // Temporarily expose input value. Use with caution. get httpMatchInput() { return this._httpMatch.internalValue; } } exports.VpclatticeListenerRuleMatchOutputReference = VpclatticeListenerRuleMatchOutputReference; _m = JSII_RTTI_SYMBOL_1; VpclatticeListenerRuleMatchOutputReference[_m] = { fqn: "@cdktf/provider-aws.vpclatticeListenerRule.VpclatticeListenerRuleMatchOutputReference", version: "21.22.1" }; function vpclatticeListenerRuleTimeoutsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } function vpclatticeListenerRuleTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpclatticeListenerRuleTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; }