UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,212 lines 352 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; Object.defineProperty(exports, "__esModule", { value: true }); exports.AlbListenerRule = exports.AlbListenerRuleConditionList = exports.AlbListenerRuleConditionOutputReference = exports.albListenerRuleConditionToHclTerraform = exports.albListenerRuleConditionToTerraform = exports.AlbListenerRuleConditionSourceIpOutputReference = exports.albListenerRuleConditionSourceIpToHclTerraform = exports.albListenerRuleConditionSourceIpToTerraform = exports.AlbListenerRuleConditionQueryStringList = exports.AlbListenerRuleConditionQueryStringOutputReference = exports.albListenerRuleConditionQueryStringToHclTerraform = exports.albListenerRuleConditionQueryStringToTerraform = exports.AlbListenerRuleConditionPathPatternOutputReference = exports.albListenerRuleConditionPathPatternToHclTerraform = exports.albListenerRuleConditionPathPatternToTerraform = exports.AlbListenerRuleConditionHttpRequestMethodOutputReference = exports.albListenerRuleConditionHttpRequestMethodToHclTerraform = exports.albListenerRuleConditionHttpRequestMethodToTerraform = exports.AlbListenerRuleConditionHttpHeaderOutputReference = exports.albListenerRuleConditionHttpHeaderToHclTerraform = exports.albListenerRuleConditionHttpHeaderToTerraform = exports.AlbListenerRuleConditionHostHeaderOutputReference = exports.albListenerRuleConditionHostHeaderToHclTerraform = exports.albListenerRuleConditionHostHeaderToTerraform = exports.AlbListenerRuleActionList = exports.AlbListenerRuleActionOutputReference = exports.albListenerRuleActionToHclTerraform = exports.albListenerRuleActionToTerraform = exports.AlbListenerRuleActionRedirectOutputReference = exports.albListenerRuleActionRedirectToHclTerraform = exports.albListenerRuleActionRedirectToTerraform = exports.AlbListenerRuleActionForwardOutputReference = exports.albListenerRuleActionForwardToHclTerraform = exports.albListenerRuleActionForwardToTerraform = exports.AlbListenerRuleActionForwardTargetGroupList = exports.AlbListenerRuleActionForwardTargetGroupOutputReference = exports.albListenerRuleActionForwardTargetGroupToHclTerraform = exports.albListenerRuleActionForwardTargetGroupToTerraform = exports.AlbListenerRuleActionForwardStickinessOutputReference = exports.albListenerRuleActionForwardStickinessToHclTerraform = exports.albListenerRuleActionForwardStickinessToTerraform = exports.AlbListenerRuleActionFixedResponseOutputReference = exports.albListenerRuleActionFixedResponseToHclTerraform = exports.albListenerRuleActionFixedResponseToTerraform = exports.AlbListenerRuleActionAuthenticateOidcOutputReference = exports.albListenerRuleActionAuthenticateOidcToHclTerraform = exports.albListenerRuleActionAuthenticateOidcToTerraform = exports.AlbListenerRuleActionAuthenticateCognitoOutputReference = exports.albListenerRuleActionAuthenticateCognitoToHclTerraform = exports.albListenerRuleActionAuthenticateCognitoToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function albListenerRuleActionAuthenticateCognitoToTerraform(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 { authentication_request_extra_params: cdktf.hashMapper(cdktf.stringToTerraform)(struct.authenticationRequestExtraParams), on_unauthenticated_request: cdktf.stringToTerraform(struct.onUnauthenticatedRequest), scope: cdktf.stringToTerraform(struct.scope), session_cookie_name: cdktf.stringToTerraform(struct.sessionCookieName), session_timeout: cdktf.numberToTerraform(struct.sessionTimeout), user_pool_arn: cdktf.stringToTerraform(struct.userPoolArn), user_pool_client_id: cdktf.stringToTerraform(struct.userPoolClientId), user_pool_domain: cdktf.stringToTerraform(struct.userPoolDomain), }; } exports.albListenerRuleActionAuthenticateCognitoToTerraform = albListenerRuleActionAuthenticateCognitoToTerraform; function albListenerRuleActionAuthenticateCognitoToHclTerraform(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 = { authentication_request_extra_params: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.authenticationRequestExtraParams), isBlock: false, type: "map", storageClassType: "stringMap", }, on_unauthenticated_request: { value: cdktf.stringToHclTerraform(struct.onUnauthenticatedRequest), isBlock: false, type: "simple", storageClassType: "string", }, scope: { value: cdktf.stringToHclTerraform(struct.scope), isBlock: false, type: "simple", storageClassType: "string", }, session_cookie_name: { value: cdktf.stringToHclTerraform(struct.sessionCookieName), isBlock: false, type: "simple", storageClassType: "string", }, session_timeout: { value: cdktf.numberToHclTerraform(struct.sessionTimeout), isBlock: false, type: "simple", storageClassType: "number", }, user_pool_arn: { value: cdktf.stringToHclTerraform(struct.userPoolArn), isBlock: false, type: "simple", storageClassType: "string", }, user_pool_client_id: { value: cdktf.stringToHclTerraform(struct.userPoolClientId), isBlock: false, type: "simple", storageClassType: "string", }, user_pool_domain: { value: cdktf.stringToHclTerraform(struct.userPoolDomain), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.albListenerRuleActionAuthenticateCognitoToHclTerraform = albListenerRuleActionAuthenticateCognitoToHclTerraform; class AlbListenerRuleActionAuthenticateCognitoOutputReference 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._authenticationRequestExtraParams !== undefined) { hasAnyValues = true; internalValueResult.authenticationRequestExtraParams = this._authenticationRequestExtraParams; } if (this._onUnauthenticatedRequest !== undefined) { hasAnyValues = true; internalValueResult.onUnauthenticatedRequest = this._onUnauthenticatedRequest; } if (this._scope !== undefined) { hasAnyValues = true; internalValueResult.scope = this._scope; } if (this._sessionCookieName !== undefined) { hasAnyValues = true; internalValueResult.sessionCookieName = this._sessionCookieName; } if (this._sessionTimeout !== undefined) { hasAnyValues = true; internalValueResult.sessionTimeout = this._sessionTimeout; } if (this._userPoolArn !== undefined) { hasAnyValues = true; internalValueResult.userPoolArn = this._userPoolArn; } if (this._userPoolClientId !== undefined) { hasAnyValues = true; internalValueResult.userPoolClientId = this._userPoolClientId; } if (this._userPoolDomain !== undefined) { hasAnyValues = true; internalValueResult.userPoolDomain = this._userPoolDomain; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._authenticationRequestExtraParams = undefined; this._onUnauthenticatedRequest = undefined; this._scope = undefined; this._sessionCookieName = undefined; this._sessionTimeout = undefined; this._userPoolArn = undefined; this._userPoolClientId = undefined; this._userPoolDomain = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._authenticationRequestExtraParams = value.authenticationRequestExtraParams; this._onUnauthenticatedRequest = value.onUnauthenticatedRequest; this._scope = value.scope; this._sessionCookieName = value.sessionCookieName; this._sessionTimeout = value.sessionTimeout; this._userPoolArn = value.userPoolArn; this._userPoolClientId = value.userPoolClientId; this._userPoolDomain = value.userPoolDomain; } } get authenticationRequestExtraParams() { return this.getStringMapAttribute('authentication_request_extra_params'); } set authenticationRequestExtraParams(value) { this._authenticationRequestExtraParams = value; } resetAuthenticationRequestExtraParams() { this._authenticationRequestExtraParams = undefined; } // Temporarily expose input value. Use with caution. get authenticationRequestExtraParamsInput() { return this._authenticationRequestExtraParams; } get onUnauthenticatedRequest() { return this.getStringAttribute('on_unauthenticated_request'); } set onUnauthenticatedRequest(value) { this._onUnauthenticatedRequest = value; } resetOnUnauthenticatedRequest() { this._onUnauthenticatedRequest = undefined; } // Temporarily expose input value. Use with caution. get onUnauthenticatedRequestInput() { return this._onUnauthenticatedRequest; } get scope() { return this.getStringAttribute('scope'); } set scope(value) { this._scope = value; } resetScope() { this._scope = undefined; } // Temporarily expose input value. Use with caution. get scopeInput() { return this._scope; } get sessionCookieName() { return this.getStringAttribute('session_cookie_name'); } set sessionCookieName(value) { this._sessionCookieName = value; } resetSessionCookieName() { this._sessionCookieName = undefined; } // Temporarily expose input value. Use with caution. get sessionCookieNameInput() { return this._sessionCookieName; } get sessionTimeout() { return this.getNumberAttribute('session_timeout'); } set sessionTimeout(value) { this._sessionTimeout = value; } resetSessionTimeout() { this._sessionTimeout = undefined; } // Temporarily expose input value. Use with caution. get sessionTimeoutInput() { return this._sessionTimeout; } get userPoolArn() { return this.getStringAttribute('user_pool_arn'); } set userPoolArn(value) { this._userPoolArn = value; } // Temporarily expose input value. Use with caution. get userPoolArnInput() { return this._userPoolArn; } get userPoolClientId() { return this.getStringAttribute('user_pool_client_id'); } set userPoolClientId(value) { this._userPoolClientId = value; } // Temporarily expose input value. Use with caution. get userPoolClientIdInput() { return this._userPoolClientId; } get userPoolDomain() { return this.getStringAttribute('user_pool_domain'); } set userPoolDomain(value) { this._userPoolDomain = value; } // Temporarily expose input value. Use with caution. get userPoolDomainInput() { return this._userPoolDomain; } } exports.AlbListenerRuleActionAuthenticateCognitoOutputReference = AlbListenerRuleActionAuthenticateCognitoOutputReference; _a = JSII_RTTI_SYMBOL_1; AlbListenerRuleActionAuthenticateCognitoOutputReference[_a] = { fqn: "@cdktf/provider-aws.albListenerRule.AlbListenerRuleActionAuthenticateCognitoOutputReference", version: "19.50.0" }; function albListenerRuleActionAuthenticateOidcToTerraform(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 { authentication_request_extra_params: cdktf.hashMapper(cdktf.stringToTerraform)(struct.authenticationRequestExtraParams), authorization_endpoint: cdktf.stringToTerraform(struct.authorizationEndpoint), client_id: cdktf.stringToTerraform(struct.clientId), client_secret: cdktf.stringToTerraform(struct.clientSecret), issuer: cdktf.stringToTerraform(struct.issuer), on_unauthenticated_request: cdktf.stringToTerraform(struct.onUnauthenticatedRequest), scope: cdktf.stringToTerraform(struct.scope), session_cookie_name: cdktf.stringToTerraform(struct.sessionCookieName), session_timeout: cdktf.numberToTerraform(struct.sessionTimeout), token_endpoint: cdktf.stringToTerraform(struct.tokenEndpoint), user_info_endpoint: cdktf.stringToTerraform(struct.userInfoEndpoint), }; } exports.albListenerRuleActionAuthenticateOidcToTerraform = albListenerRuleActionAuthenticateOidcToTerraform; function albListenerRuleActionAuthenticateOidcToHclTerraform(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 = { authentication_request_extra_params: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.authenticationRequestExtraParams), isBlock: false, type: "map", storageClassType: "stringMap", }, authorization_endpoint: { value: cdktf.stringToHclTerraform(struct.authorizationEndpoint), isBlock: false, type: "simple", storageClassType: "string", }, client_id: { value: cdktf.stringToHclTerraform(struct.clientId), isBlock: false, type: "simple", storageClassType: "string", }, client_secret: { value: cdktf.stringToHclTerraform(struct.clientSecret), isBlock: false, type: "simple", storageClassType: "string", }, issuer: { value: cdktf.stringToHclTerraform(struct.issuer), isBlock: false, type: "simple", storageClassType: "string", }, on_unauthenticated_request: { value: cdktf.stringToHclTerraform(struct.onUnauthenticatedRequest), isBlock: false, type: "simple", storageClassType: "string", }, scope: { value: cdktf.stringToHclTerraform(struct.scope), isBlock: false, type: "simple", storageClassType: "string", }, session_cookie_name: { value: cdktf.stringToHclTerraform(struct.sessionCookieName), isBlock: false, type: "simple", storageClassType: "string", }, session_timeout: { value: cdktf.numberToHclTerraform(struct.sessionTimeout), isBlock: false, type: "simple", storageClassType: "number", }, token_endpoint: { value: cdktf.stringToHclTerraform(struct.tokenEndpoint), isBlock: false, type: "simple", storageClassType: "string", }, user_info_endpoint: { value: cdktf.stringToHclTerraform(struct.userInfoEndpoint), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.albListenerRuleActionAuthenticateOidcToHclTerraform = albListenerRuleActionAuthenticateOidcToHclTerraform; class AlbListenerRuleActionAuthenticateOidcOutputReference 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._authenticationRequestExtraParams !== undefined) { hasAnyValues = true; internalValueResult.authenticationRequestExtraParams = this._authenticationRequestExtraParams; } if (this._authorizationEndpoint !== undefined) { hasAnyValues = true; internalValueResult.authorizationEndpoint = this._authorizationEndpoint; } if (this._clientId !== undefined) { hasAnyValues = true; internalValueResult.clientId = this._clientId; } if (this._clientSecret !== undefined) { hasAnyValues = true; internalValueResult.clientSecret = this._clientSecret; } if (this._issuer !== undefined) { hasAnyValues = true; internalValueResult.issuer = this._issuer; } if (this._onUnauthenticatedRequest !== undefined) { hasAnyValues = true; internalValueResult.onUnauthenticatedRequest = this._onUnauthenticatedRequest; } if (this._scope !== undefined) { hasAnyValues = true; internalValueResult.scope = this._scope; } if (this._sessionCookieName !== undefined) { hasAnyValues = true; internalValueResult.sessionCookieName = this._sessionCookieName; } if (this._sessionTimeout !== undefined) { hasAnyValues = true; internalValueResult.sessionTimeout = this._sessionTimeout; } if (this._tokenEndpoint !== undefined) { hasAnyValues = true; internalValueResult.tokenEndpoint = this._tokenEndpoint; } if (this._userInfoEndpoint !== undefined) { hasAnyValues = true; internalValueResult.userInfoEndpoint = this._userInfoEndpoint; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._authenticationRequestExtraParams = undefined; this._authorizationEndpoint = undefined; this._clientId = undefined; this._clientSecret = undefined; this._issuer = undefined; this._onUnauthenticatedRequest = undefined; this._scope = undefined; this._sessionCookieName = undefined; this._sessionTimeout = undefined; this._tokenEndpoint = undefined; this._userInfoEndpoint = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._authenticationRequestExtraParams = value.authenticationRequestExtraParams; this._authorizationEndpoint = value.authorizationEndpoint; this._clientId = value.clientId; this._clientSecret = value.clientSecret; this._issuer = value.issuer; this._onUnauthenticatedRequest = value.onUnauthenticatedRequest; this._scope = value.scope; this._sessionCookieName = value.sessionCookieName; this._sessionTimeout = value.sessionTimeout; this._tokenEndpoint = value.tokenEndpoint; this._userInfoEndpoint = value.userInfoEndpoint; } } get authenticationRequestExtraParams() { return this.getStringMapAttribute('authentication_request_extra_params'); } set authenticationRequestExtraParams(value) { this._authenticationRequestExtraParams = value; } resetAuthenticationRequestExtraParams() { this._authenticationRequestExtraParams = undefined; } // Temporarily expose input value. Use with caution. get authenticationRequestExtraParamsInput() { return this._authenticationRequestExtraParams; } get authorizationEndpoint() { return this.getStringAttribute('authorization_endpoint'); } set authorizationEndpoint(value) { this._authorizationEndpoint = value; } // Temporarily expose input value. Use with caution. get authorizationEndpointInput() { return this._authorizationEndpoint; } get clientId() { return this.getStringAttribute('client_id'); } set clientId(value) { this._clientId = value; } // Temporarily expose input value. Use with caution. get clientIdInput() { return this._clientId; } get clientSecret() { return this.getStringAttribute('client_secret'); } set clientSecret(value) { this._clientSecret = value; } // Temporarily expose input value. Use with caution. get clientSecretInput() { return this._clientSecret; } get issuer() { return this.getStringAttribute('issuer'); } set issuer(value) { this._issuer = value; } // Temporarily expose input value. Use with caution. get issuerInput() { return this._issuer; } get onUnauthenticatedRequest() { return this.getStringAttribute('on_unauthenticated_request'); } set onUnauthenticatedRequest(value) { this._onUnauthenticatedRequest = value; } resetOnUnauthenticatedRequest() { this._onUnauthenticatedRequest = undefined; } // Temporarily expose input value. Use with caution. get onUnauthenticatedRequestInput() { return this._onUnauthenticatedRequest; } get scope() { return this.getStringAttribute('scope'); } set scope(value) { this._scope = value; } resetScope() { this._scope = undefined; } // Temporarily expose input value. Use with caution. get scopeInput() { return this._scope; } get sessionCookieName() { return this.getStringAttribute('session_cookie_name'); } set sessionCookieName(value) { this._sessionCookieName = value; } resetSessionCookieName() { this._sessionCookieName = undefined; } // Temporarily expose input value. Use with caution. get sessionCookieNameInput() { return this._sessionCookieName; } get sessionTimeout() { return this.getNumberAttribute('session_timeout'); } set sessionTimeout(value) { this._sessionTimeout = value; } resetSessionTimeout() { this._sessionTimeout = undefined; } // Temporarily expose input value. Use with caution. get sessionTimeoutInput() { return this._sessionTimeout; } get tokenEndpoint() { return this.getStringAttribute('token_endpoint'); } set tokenEndpoint(value) { this._tokenEndpoint = value; } // Temporarily expose input value. Use with caution. get tokenEndpointInput() { return this._tokenEndpoint; } get userInfoEndpoint() { return this.getStringAttribute('user_info_endpoint'); } set userInfoEndpoint(value) { this._userInfoEndpoint = value; } // Temporarily expose input value. Use with caution. get userInfoEndpointInput() { return this._userInfoEndpoint; } } exports.AlbListenerRuleActionAuthenticateOidcOutputReference = AlbListenerRuleActionAuthenticateOidcOutputReference; _b = JSII_RTTI_SYMBOL_1; AlbListenerRuleActionAuthenticateOidcOutputReference[_b] = { fqn: "@cdktf/provider-aws.albListenerRule.AlbListenerRuleActionAuthenticateOidcOutputReference", version: "19.50.0" }; function albListenerRuleActionFixedResponseToTerraform(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 { content_type: cdktf.stringToTerraform(struct.contentType), message_body: cdktf.stringToTerraform(struct.messageBody), status_code: cdktf.stringToTerraform(struct.statusCode), }; } exports.albListenerRuleActionFixedResponseToTerraform = albListenerRuleActionFixedResponseToTerraform; function albListenerRuleActionFixedResponseToHclTerraform(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 = { content_type: { value: cdktf.stringToHclTerraform(struct.contentType), isBlock: false, type: "simple", storageClassType: "string", }, message_body: { value: cdktf.stringToHclTerraform(struct.messageBody), isBlock: false, type: "simple", storageClassType: "string", }, status_code: { value: cdktf.stringToHclTerraform(struct.statusCode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.albListenerRuleActionFixedResponseToHclTerraform = albListenerRuleActionFixedResponseToHclTerraform; class AlbListenerRuleActionFixedResponseOutputReference 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._contentType !== undefined) { hasAnyValues = true; internalValueResult.contentType = this._contentType; } if (this._messageBody !== undefined) { hasAnyValues = true; internalValueResult.messageBody = this._messageBody; } if (this._statusCode !== undefined) { hasAnyValues = true; internalValueResult.statusCode = this._statusCode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._contentType = undefined; this._messageBody = undefined; this._statusCode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._contentType = value.contentType; this._messageBody = value.messageBody; this._statusCode = value.statusCode; } } get contentType() { return this.getStringAttribute('content_type'); } set contentType(value) { this._contentType = value; } // Temporarily expose input value. Use with caution. get contentTypeInput() { return this._contentType; } get messageBody() { return this.getStringAttribute('message_body'); } set messageBody(value) { this._messageBody = value; } resetMessageBody() { this._messageBody = undefined; } // Temporarily expose input value. Use with caution. get messageBodyInput() { return this._messageBody; } get statusCode() { return this.getStringAttribute('status_code'); } set statusCode(value) { this._statusCode = value; } resetStatusCode() { this._statusCode = undefined; } // Temporarily expose input value. Use with caution. get statusCodeInput() { return this._statusCode; } } exports.AlbListenerRuleActionFixedResponseOutputReference = AlbListenerRuleActionFixedResponseOutputReference; _c = JSII_RTTI_SYMBOL_1; AlbListenerRuleActionFixedResponseOutputReference[_c] = { fqn: "@cdktf/provider-aws.albListenerRule.AlbListenerRuleActionFixedResponseOutputReference", version: "19.50.0" }; function albListenerRuleActionForwardStickinessToTerraform(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 { duration: cdktf.numberToTerraform(struct.duration), enabled: cdktf.booleanToTerraform(struct.enabled), }; } exports.albListenerRuleActionForwardStickinessToTerraform = albListenerRuleActionForwardStickinessToTerraform; function albListenerRuleActionForwardStickinessToHclTerraform(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 = { duration: { value: cdktf.numberToHclTerraform(struct.duration), isBlock: false, type: "simple", storageClassType: "number", }, enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.albListenerRuleActionForwardStickinessToHclTerraform = albListenerRuleActionForwardStickinessToHclTerraform; class AlbListenerRuleActionForwardStickinessOutputReference 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._duration !== undefined) { hasAnyValues = true; internalValueResult.duration = this._duration; } if (this._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._duration = undefined; this._enabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._duration = value.duration; this._enabled = value.enabled; } } get duration() { return this.getNumberAttribute('duration'); } set duration(value) { this._duration = value; } // Temporarily expose input value. Use with caution. get durationInput() { return this._duration; } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } resetEnabled() { this._enabled = undefined; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } } exports.AlbListenerRuleActionForwardStickinessOutputReference = AlbListenerRuleActionForwardStickinessOutputReference; _d = JSII_RTTI_SYMBOL_1; AlbListenerRuleActionForwardStickinessOutputReference[_d] = { fqn: "@cdktf/provider-aws.albListenerRule.AlbListenerRuleActionForwardStickinessOutputReference", version: "19.50.0" }; function albListenerRuleActionForwardTargetGroupToTerraform(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 { arn: cdktf.stringToTerraform(struct.arn), weight: cdktf.numberToTerraform(struct.weight), }; } exports.albListenerRuleActionForwardTargetGroupToTerraform = albListenerRuleActionForwardTargetGroupToTerraform; function albListenerRuleActionForwardTargetGroupToHclTerraform(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 = { arn: { value: cdktf.stringToHclTerraform(struct.arn), 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)); } exports.albListenerRuleActionForwardTargetGroupToHclTerraform = albListenerRuleActionForwardTargetGroupToHclTerraform; class AlbListenerRuleActionForwardTargetGroupOutputReference 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._arn !== undefined) { hasAnyValues = true; internalValueResult.arn = this._arn; } 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._arn = 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._arn = value.arn; this._weight = value.weight; } } get arn() { return this.getStringAttribute('arn'); } set arn(value) { this._arn = value; } // Temporarily expose input value. Use with caution. get arnInput() { return this._arn; } 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.AlbListenerRuleActionForwardTargetGroupOutputReference = AlbListenerRuleActionForwardTargetGroupOutputReference; _e = JSII_RTTI_SYMBOL_1; AlbListenerRuleActionForwardTargetGroupOutputReference[_e] = { fqn: "@cdktf/provider-aws.albListenerRule.AlbListenerRuleActionForwardTargetGroupOutputReference", version: "19.50.0" }; class AlbListenerRuleActionForwardTargetGroupList 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 AlbListenerRuleActionForwardTargetGroupOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AlbListenerRuleActionForwardTargetGroupList = AlbListenerRuleActionForwardTargetGroupList; _f = JSII_RTTI_SYMBOL_1; AlbListenerRuleActionForwardTargetGroupList[_f] = { fqn: "@cdktf/provider-aws.albListenerRule.AlbListenerRuleActionForwardTargetGroupList", version: "19.50.0" }; function albListenerRuleActionForwardToTerraform(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 { stickiness: albListenerRuleActionForwardStickinessToTerraform(struct.stickiness), target_group: cdktf.listMapper(albListenerRuleActionForwardTargetGroupToTerraform, true)(struct.targetGroup), }; } exports.albListenerRuleActionForwardToTerraform = albListenerRuleActionForwardToTerraform; function albListenerRuleActionForwardToHclTerraform(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 = { stickiness: { value: albListenerRuleActionForwardStickinessToHclTerraform(struct.stickiness), isBlock: true, type: "list", storageClassType: "AlbListenerRuleActionForwardStickinessList", }, target_group: { value: cdktf.listMapperHcl(albListenerRuleActionForwardTargetGroupToHclTerraform, true)(struct.targetGroup), isBlock: true, type: "set", storageClassType: "AlbListenerRuleActionForwardTargetGroupList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.albListenerRuleActionForwardToHclTerraform = albListenerRuleActionForwardToHclTerraform; class AlbListenerRuleActionForwardOutputReference 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; // stickiness - computed: false, optional: true, required: false this._stickiness = new AlbListenerRuleActionForwardStickinessOutputReference(this, "stickiness"); // target_group - computed: false, optional: false, required: true this._targetGroup = new AlbListenerRuleActionForwardTargetGroupList(this, "target_group", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._stickiness?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.stickiness = this._stickiness?.internalValue; } if (this._targetGroup?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.targetGroup = this._targetGroup?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._stickiness.internalValue = undefined; this._targetGroup.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._stickiness.internalValue = value.stickiness; this._targetGroup.internalValue = value.targetGroup; } } get stickiness() { return this._stickiness; } putStickiness(value) { this._stickiness.internalValue = value; } resetStickiness() { this._stickiness.internalValue = undefined; } // Temporarily expose input value. Use with caution. get stickinessInput() { return this._stickiness.internalValue; } get targetGroup() { return this._targetGroup; } putTargetGroup(value) { this._targetGroup.internalValue = value; } // Temporarily expose input value. Use with caution. get targetGroupInput() { return this._targetGroup.internalValue; } } exports.AlbListenerRuleActionForwardOutputReference = AlbListenerRuleActionForwardOutputReference; _g = JSII_RTTI_SYMBOL_1; AlbListenerRuleActionForwardOutputReference[_g] = { fqn: "@cdktf/provider-aws.albListenerRule.AlbListenerRuleActionForwardOutputReference", version: "19.50.0" }; function albListenerRuleActionRedirectToTerraform(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 { host: cdktf.stringToTerraform(struct.host), path: cdktf.stringToTerraform(struct.path), port: cdktf.stringToTerraform(struct.port), protocol: cdktf.stringToTerraform(struct.protocol), query: cdktf.stringToTerraform(struct.query), status_code: cdktf.stringToTerraform(struct.statusCode), }; } exports.albListenerRuleActionRedirectToTerraform = albListenerRuleActionRedirectToTerraform; function albListenerRuleActionRedirectToHclTerraform(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 = { host: { value: cdktf.stringToHclTerraform(struct.host), isBlock: false, type: "simple", storageClassType: "string", }, path: { value: cdktf.stringToHclTerraform(struct.path), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.stringToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "string", }, protocol: { value: cdktf.stringToHclTerraform(struct.protocol), isBlock: false, type: "simple", storageClassType: "string", }, query: { value: cdktf.stringToHclTerraform(struct.query), isBlock: false, type: "simple", storageClassType: "string", }, status_code: { value: cdktf.stringToHclTerraform(struct.statusCode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.albListenerRuleActionRedirectToHclTerraform = albListenerRuleActionRedirectToHclTerraform; class AlbListenerRuleActionRedirectOutputReference 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._host !== undefined) { hasAnyValues = true; internalValueResult.host = this._host; } if (this._path !== undefined) { hasAnyValues = true; internalValueResult.path = this._path; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._protocol !== undefined) { hasAnyValues = true; internalValueResult.protocol = this._protocol; } if (this._query !== undefined) { hasAnyValues = true; internalValueResult.query = this._query; } if (this._statusCode !== undefined) { hasAnyValues = true; internalValueResult.statusCode = this._statusCode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._host = undefined; this._path = undefined; this._port = undefined; this._protocol = undefined; this._query = undefined; this._statusCode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._host = value.host; this._path = value.path; this._port = value.port; this._protocol = value.protocol; this._query = value.query; this._statusCode = value.statusCode; } } get host() { return this.getStringAttribute('host'); } set host(value) { this._host = value; } resetHost() { this._host = undefined; } // Temporarily expose input value. Use with caution. get hostInput() { return this._host; } get path() { return this.getStringAttribute('path'); } set path(value) { this._path = value; } resetPath() { this._path = undefined; } // Temporarily expose input value. Use with caution. get pathInput() { return this._path; } get port() { return this.getStringAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get protocol() { return this.getStringAttribute('protocol'); } set protocol(value) { this._protocol = value; } resetProtocol() { this._protocol = undefined; } // Temporarily expose input value. Use with caution. get protocolInput() { return this._protocol; } get query() { return this.getStringAttribute('query'); } set q