UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

914 lines 134 kB
"use strict"; var _a, _b, _c, _d, _e; Object.defineProperty(exports, "__esModule", { value: true }); exports.CognitoUserPoolClient = exports.CognitoUserPoolClientTokenValidityUnitsList = exports.CognitoUserPoolClientTokenValidityUnitsOutputReference = exports.cognitoUserPoolClientTokenValidityUnitsToHclTerraform = exports.cognitoUserPoolClientTokenValidityUnitsToTerraform = exports.CognitoUserPoolClientAnalyticsConfigurationList = exports.CognitoUserPoolClientAnalyticsConfigurationOutputReference = exports.cognitoUserPoolClientAnalyticsConfigurationToHclTerraform = exports.cognitoUserPoolClientAnalyticsConfigurationToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function cognitoUserPoolClientAnalyticsConfigurationToTerraform(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 { application_arn: cdktf.stringToTerraform(struct.applicationArn), application_id: cdktf.stringToTerraform(struct.applicationId), external_id: cdktf.stringToTerraform(struct.externalId), role_arn: cdktf.stringToTerraform(struct.roleArn), user_data_shared: cdktf.booleanToTerraform(struct.userDataShared), }; } exports.cognitoUserPoolClientAnalyticsConfigurationToTerraform = cognitoUserPoolClientAnalyticsConfigurationToTerraform; function cognitoUserPoolClientAnalyticsConfigurationToHclTerraform(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 = { application_arn: { value: cdktf.stringToHclTerraform(struct.applicationArn), isBlock: false, type: "simple", storageClassType: "string", }, application_id: { value: cdktf.stringToHclTerraform(struct.applicationId), isBlock: false, type: "simple", storageClassType: "string", }, external_id: { value: cdktf.stringToHclTerraform(struct.externalId), isBlock: false, type: "simple", storageClassType: "string", }, role_arn: { value: cdktf.stringToHclTerraform(struct.roleArn), isBlock: false, type: "simple", storageClassType: "string", }, user_data_shared: { value: cdktf.booleanToHclTerraform(struct.userDataShared), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cognitoUserPoolClientAnalyticsConfigurationToHclTerraform = cognitoUserPoolClientAnalyticsConfigurationToHclTerraform; class CognitoUserPoolClientAnalyticsConfigurationOutputReference 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._applicationArn !== undefined) { hasAnyValues = true; internalValueResult.applicationArn = this._applicationArn; } if (this._applicationId !== undefined) { hasAnyValues = true; internalValueResult.applicationId = this._applicationId; } if (this._externalId !== undefined) { hasAnyValues = true; internalValueResult.externalId = this._externalId; } if (this._roleArn !== undefined) { hasAnyValues = true; internalValueResult.roleArn = this._roleArn; } if (this._userDataShared !== undefined) { hasAnyValues = true; internalValueResult.userDataShared = this._userDataShared; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._applicationArn = undefined; this._applicationId = undefined; this._externalId = undefined; this._roleArn = undefined; this._userDataShared = 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._applicationArn = value.applicationArn; this._applicationId = value.applicationId; this._externalId = value.externalId; this._roleArn = value.roleArn; this._userDataShared = value.userDataShared; } } get applicationArn() { return this.getStringAttribute('application_arn'); } set applicationArn(value) { this._applicationArn = value; } resetApplicationArn() { this._applicationArn = undefined; } // Temporarily expose input value. Use with caution. get applicationArnInput() { return this._applicationArn; } get applicationId() { return this.getStringAttribute('application_id'); } set applicationId(value) { this._applicationId = value; } resetApplicationId() { this._applicationId = undefined; } // Temporarily expose input value. Use with caution. get applicationIdInput() { return this._applicationId; } get externalId() { return this.getStringAttribute('external_id'); } set externalId(value) { this._externalId = value; } resetExternalId() { this._externalId = undefined; } // Temporarily expose input value. Use with caution. get externalIdInput() { return this._externalId; } get roleArn() { return this.getStringAttribute('role_arn'); } set roleArn(value) { this._roleArn = value; } resetRoleArn() { this._roleArn = undefined; } // Temporarily expose input value. Use with caution. get roleArnInput() { return this._roleArn; } get userDataShared() { return this.getBooleanAttribute('user_data_shared'); } set userDataShared(value) { this._userDataShared = value; } resetUserDataShared() { this._userDataShared = undefined; } // Temporarily expose input value. Use with caution. get userDataSharedInput() { return this._userDataShared; } } exports.CognitoUserPoolClientAnalyticsConfigurationOutputReference = CognitoUserPoolClientAnalyticsConfigurationOutputReference; _a = JSII_RTTI_SYMBOL_1; CognitoUserPoolClientAnalyticsConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.cognitoUserPoolClient.CognitoUserPoolClientAnalyticsConfigurationOutputReference", version: "19.50.0" }; class CognitoUserPoolClientAnalyticsConfigurationList 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 CognitoUserPoolClientAnalyticsConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CognitoUserPoolClientAnalyticsConfigurationList = CognitoUserPoolClientAnalyticsConfigurationList; _b = JSII_RTTI_SYMBOL_1; CognitoUserPoolClientAnalyticsConfigurationList[_b] = { fqn: "@cdktf/provider-aws.cognitoUserPoolClient.CognitoUserPoolClientAnalyticsConfigurationList", version: "19.50.0" }; function cognitoUserPoolClientTokenValidityUnitsToTerraform(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 { access_token: cdktf.stringToTerraform(struct.accessToken), id_token: cdktf.stringToTerraform(struct.idToken), refresh_token: cdktf.stringToTerraform(struct.refreshToken), }; } exports.cognitoUserPoolClientTokenValidityUnitsToTerraform = cognitoUserPoolClientTokenValidityUnitsToTerraform; function cognitoUserPoolClientTokenValidityUnitsToHclTerraform(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 = { access_token: { value: cdktf.stringToHclTerraform(struct.accessToken), isBlock: false, type: "simple", storageClassType: "string", }, id_token: { value: cdktf.stringToHclTerraform(struct.idToken), isBlock: false, type: "simple", storageClassType: "string", }, refresh_token: { value: cdktf.stringToHclTerraform(struct.refreshToken), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cognitoUserPoolClientTokenValidityUnitsToHclTerraform = cognitoUserPoolClientTokenValidityUnitsToHclTerraform; class CognitoUserPoolClientTokenValidityUnitsOutputReference 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._accessToken !== undefined) { hasAnyValues = true; internalValueResult.accessToken = this._accessToken; } if (this._idToken !== undefined) { hasAnyValues = true; internalValueResult.idToken = this._idToken; } if (this._refreshToken !== undefined) { hasAnyValues = true; internalValueResult.refreshToken = this._refreshToken; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._accessToken = undefined; this._idToken = undefined; this._refreshToken = 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._accessToken = value.accessToken; this._idToken = value.idToken; this._refreshToken = value.refreshToken; } } get accessToken() { return this.getStringAttribute('access_token'); } set accessToken(value) { this._accessToken = value; } resetAccessToken() { this._accessToken = undefined; } // Temporarily expose input value. Use with caution. get accessTokenInput() { return this._accessToken; } get idToken() { return this.getStringAttribute('id_token'); } set idToken(value) { this._idToken = value; } resetIdToken() { this._idToken = undefined; } // Temporarily expose input value. Use with caution. get idTokenInput() { return this._idToken; } get refreshToken() { return this.getStringAttribute('refresh_token'); } set refreshToken(value) { this._refreshToken = value; } resetRefreshToken() { this._refreshToken = undefined; } // Temporarily expose input value. Use with caution. get refreshTokenInput() { return this._refreshToken; } } exports.CognitoUserPoolClientTokenValidityUnitsOutputReference = CognitoUserPoolClientTokenValidityUnitsOutputReference; _c = JSII_RTTI_SYMBOL_1; CognitoUserPoolClientTokenValidityUnitsOutputReference[_c] = { fqn: "@cdktf/provider-aws.cognitoUserPoolClient.CognitoUserPoolClientTokenValidityUnitsOutputReference", version: "19.50.0" }; class CognitoUserPoolClientTokenValidityUnitsList 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 CognitoUserPoolClientTokenValidityUnitsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CognitoUserPoolClientTokenValidityUnitsList = CognitoUserPoolClientTokenValidityUnitsList; _d = JSII_RTTI_SYMBOL_1; CognitoUserPoolClientTokenValidityUnitsList[_d] = { fqn: "@cdktf/provider-aws.cognitoUserPoolClient.CognitoUserPoolClientTokenValidityUnitsList", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cognito_user_pool_client aws_cognito_user_pool_client} */ class CognitoUserPoolClient extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a CognitoUserPoolClient resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the CognitoUserPoolClient to import * @param importFromId The id of the existing CognitoUserPoolClient that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cognito_user_pool_client#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CognitoUserPoolClient to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_cognito_user_pool_client", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cognito_user_pool_client aws_cognito_user_pool_client} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options CognitoUserPoolClientConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_cognito_user_pool_client', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // analytics_configuration - computed: false, optional: true, required: false this._analyticsConfiguration = new CognitoUserPoolClientAnalyticsConfigurationList(this, "analytics_configuration", false); // token_validity_units - computed: false, optional: true, required: false this._tokenValidityUnits = new CognitoUserPoolClientTokenValidityUnitsList(this, "token_validity_units", false); this._accessTokenValidity = config.accessTokenValidity; this._allowedOauthFlows = config.allowedOauthFlows; this._allowedOauthFlowsUserPoolClient = config.allowedOauthFlowsUserPoolClient; this._allowedOauthScopes = config.allowedOauthScopes; this._authSessionValidity = config.authSessionValidity; this._callbackUrls = config.callbackUrls; this._defaultRedirectUri = config.defaultRedirectUri; this._enablePropagateAdditionalUserContextData = config.enablePropagateAdditionalUserContextData; this._enableTokenRevocation = config.enableTokenRevocation; this._explicitAuthFlows = config.explicitAuthFlows; this._generateSecret = config.generateSecret; this._idTokenValidity = config.idTokenValidity; this._logoutUrls = config.logoutUrls; this._name = config.name; this._preventUserExistenceErrors = config.preventUserExistenceErrors; this._readAttributes = config.readAttributes; this._refreshTokenValidity = config.refreshTokenValidity; this._supportedIdentityProviders = config.supportedIdentityProviders; this._userPoolId = config.userPoolId; this._writeAttributes = config.writeAttributes; this._analyticsConfiguration.internalValue = config.analyticsConfiguration; this._tokenValidityUnits.internalValue = config.tokenValidityUnits; } get accessTokenValidity() { return this.getNumberAttribute('access_token_validity'); } set accessTokenValidity(value) { this._accessTokenValidity = value; } resetAccessTokenValidity() { this._accessTokenValidity = undefined; } // Temporarily expose input value. Use with caution. get accessTokenValidityInput() { return this._accessTokenValidity; } get allowedOauthFlows() { return cdktf.Fn.tolist(this.getListAttribute('allowed_oauth_flows')); } set allowedOauthFlows(value) { this._allowedOauthFlows = value; } resetAllowedOauthFlows() { this._allowedOauthFlows = undefined; } // Temporarily expose input value. Use with caution. get allowedOauthFlowsInput() { return this._allowedOauthFlows; } get allowedOauthFlowsUserPoolClient() { return this.getBooleanAttribute('allowed_oauth_flows_user_pool_client'); } set allowedOauthFlowsUserPoolClient(value) { this._allowedOauthFlowsUserPoolClient = value; } resetAllowedOauthFlowsUserPoolClient() { this._allowedOauthFlowsUserPoolClient = undefined; } // Temporarily expose input value. Use with caution. get allowedOauthFlowsUserPoolClientInput() { return this._allowedOauthFlowsUserPoolClient; } get allowedOauthScopes() { return cdktf.Fn.tolist(this.getListAttribute('allowed_oauth_scopes')); } set allowedOauthScopes(value) { this._allowedOauthScopes = value; } resetAllowedOauthScopes() { this._allowedOauthScopes = undefined; } // Temporarily expose input value. Use with caution. get allowedOauthScopesInput() { return this._allowedOauthScopes; } get authSessionValidity() { return this.getNumberAttribute('auth_session_validity'); } set authSessionValidity(value) { this._authSessionValidity = value; } resetAuthSessionValidity() { this._authSessionValidity = undefined; } // Temporarily expose input value. Use with caution. get authSessionValidityInput() { return this._authSessionValidity; } get callbackUrls() { return cdktf.Fn.tolist(this.getListAttribute('callback_urls')); } set callbackUrls(value) { this._callbackUrls = value; } resetCallbackUrls() { this._callbackUrls = undefined; } // Temporarily expose input value. Use with caution. get callbackUrlsInput() { return this._callbackUrls; } // client_secret - computed: true, optional: false, required: false get clientSecret() { return this.getStringAttribute('client_secret'); } get defaultRedirectUri() { return this.getStringAttribute('default_redirect_uri'); } set defaultRedirectUri(value) { this._defaultRedirectUri = value; } resetDefaultRedirectUri() { this._defaultRedirectUri = undefined; } // Temporarily expose input value. Use with caution. get defaultRedirectUriInput() { return this._defaultRedirectUri; } get enablePropagateAdditionalUserContextData() { return this.getBooleanAttribute('enable_propagate_additional_user_context_data'); } set enablePropagateAdditionalUserContextData(value) { this._enablePropagateAdditionalUserContextData = value; } resetEnablePropagateAdditionalUserContextData() { this._enablePropagateAdditionalUserContextData = undefined; } // Temporarily expose input value. Use with caution. get enablePropagateAdditionalUserContextDataInput() { return this._enablePropagateAdditionalUserContextData; } get enableTokenRevocation() { return this.getBooleanAttribute('enable_token_revocation'); } set enableTokenRevocation(value) { this._enableTokenRevocation = value; } resetEnableTokenRevocation() { this._enableTokenRevocation = undefined; } // Temporarily expose input value. Use with caution. get enableTokenRevocationInput() { return this._enableTokenRevocation; } get explicitAuthFlows() { return cdktf.Fn.tolist(this.getListAttribute('explicit_auth_flows')); } set explicitAuthFlows(value) { this._explicitAuthFlows = value; } resetExplicitAuthFlows() { this._explicitAuthFlows = undefined; } // Temporarily expose input value. Use with caution. get explicitAuthFlowsInput() { return this._explicitAuthFlows; } get generateSecret() { return this.getBooleanAttribute('generate_secret'); } set generateSecret(value) { this._generateSecret = value; } resetGenerateSecret() { this._generateSecret = undefined; } // Temporarily expose input value. Use with caution. get generateSecretInput() { return this._generateSecret; } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } get idTokenValidity() { return this.getNumberAttribute('id_token_validity'); } set idTokenValidity(value) { this._idTokenValidity = value; } resetIdTokenValidity() { this._idTokenValidity = undefined; } // Temporarily expose input value. Use with caution. get idTokenValidityInput() { return this._idTokenValidity; } get logoutUrls() { return cdktf.Fn.tolist(this.getListAttribute('logout_urls')); } set logoutUrls(value) { this._logoutUrls = value; } resetLogoutUrls() { this._logoutUrls = undefined; } // Temporarily expose input value. Use with caution. get logoutUrlsInput() { return this._logoutUrls; } 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 preventUserExistenceErrors() { return this.getStringAttribute('prevent_user_existence_errors'); } set preventUserExistenceErrors(value) { this._preventUserExistenceErrors = value; } resetPreventUserExistenceErrors() { this._preventUserExistenceErrors = undefined; } // Temporarily expose input value. Use with caution. get preventUserExistenceErrorsInput() { return this._preventUserExistenceErrors; } get readAttributes() { return cdktf.Fn.tolist(this.getListAttribute('read_attributes')); } set readAttributes(value) { this._readAttributes = value; } resetReadAttributes() { this._readAttributes = undefined; } // Temporarily expose input value. Use with caution. get readAttributesInput() { return this._readAttributes; } get refreshTokenValidity() { return this.getNumberAttribute('refresh_token_validity'); } set refreshTokenValidity(value) { this._refreshTokenValidity = value; } resetRefreshTokenValidity() { this._refreshTokenValidity = undefined; } // Temporarily expose input value. Use with caution. get refreshTokenValidityInput() { return this._refreshTokenValidity; } get supportedIdentityProviders() { return cdktf.Fn.tolist(this.getListAttribute('supported_identity_providers')); } set supportedIdentityProviders(value) { this._supportedIdentityProviders = value; } resetSupportedIdentityProviders() { this._supportedIdentityProviders = undefined; } // Temporarily expose input value. Use with caution. get supportedIdentityProvidersInput() { return this._supportedIdentityProviders; } get userPoolId() { return this.getStringAttribute('user_pool_id'); } set userPoolId(value) { this._userPoolId = value; } // Temporarily expose input value. Use with caution. get userPoolIdInput() { return this._userPoolId; } get writeAttributes() { return cdktf.Fn.tolist(this.getListAttribute('write_attributes')); } set writeAttributes(value) { this._writeAttributes = value; } resetWriteAttributes() { this._writeAttributes = undefined; } // Temporarily expose input value. Use with caution. get writeAttributesInput() { return this._writeAttributes; } get analyticsConfiguration() { return this._analyticsConfiguration; } putAnalyticsConfiguration(value) { this._analyticsConfiguration.internalValue = value; } resetAnalyticsConfiguration() { this._analyticsConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get analyticsConfigurationInput() { return this._analyticsConfiguration.internalValue; } get tokenValidityUnits() { return this._tokenValidityUnits; } putTokenValidityUnits(value) { this._tokenValidityUnits.internalValue = value; } resetTokenValidityUnits() { this._tokenValidityUnits.internalValue = undefined; } // Temporarily expose input value. Use with caution. get tokenValidityUnitsInput() { return this._tokenValidityUnits.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { access_token_validity: cdktf.numberToTerraform(this._accessTokenValidity), allowed_oauth_flows: cdktf.listMapper(cdktf.stringToTerraform, false)(this._allowedOauthFlows), allowed_oauth_flows_user_pool_client: cdktf.booleanToTerraform(this._allowedOauthFlowsUserPoolClient), allowed_oauth_scopes: cdktf.listMapper(cdktf.stringToTerraform, false)(this._allowedOauthScopes), auth_session_validity: cdktf.numberToTerraform(this._authSessionValidity), callback_urls: cdktf.listMapper(cdktf.stringToTerraform, false)(this._callbackUrls), default_redirect_uri: cdktf.stringToTerraform(this._defaultRedirectUri), enable_propagate_additional_user_context_data: cdktf.booleanToTerraform(this._enablePropagateAdditionalUserContextData), enable_token_revocation: cdktf.booleanToTerraform(this._enableTokenRevocation), explicit_auth_flows: cdktf.listMapper(cdktf.stringToTerraform, false)(this._explicitAuthFlows), generate_secret: cdktf.booleanToTerraform(this._generateSecret), id_token_validity: cdktf.numberToTerraform(this._idTokenValidity), logout_urls: cdktf.listMapper(cdktf.stringToTerraform, false)(this._logoutUrls), name: cdktf.stringToTerraform(this._name), prevent_user_existence_errors: cdktf.stringToTerraform(this._preventUserExistenceErrors), read_attributes: cdktf.listMapper(cdktf.stringToTerraform, false)(this._readAttributes), refresh_token_validity: cdktf.numberToTerraform(this._refreshTokenValidity), supported_identity_providers: cdktf.listMapper(cdktf.stringToTerraform, false)(this._supportedIdentityProviders), user_pool_id: cdktf.stringToTerraform(this._userPoolId), write_attributes: cdktf.listMapper(cdktf.stringToTerraform, false)(this._writeAttributes), analytics_configuration: cdktf.listMapper(cognitoUserPoolClientAnalyticsConfigurationToTerraform, true)(this._analyticsConfiguration.internalValue), token_validity_units: cdktf.listMapper(cognitoUserPoolClientTokenValidityUnitsToTerraform, true)(this._tokenValidityUnits.internalValue), }; } synthesizeHclAttributes() { const attrs = { access_token_validity: { value: cdktf.numberToHclTerraform(this._accessTokenValidity), isBlock: false, type: "simple", storageClassType: "number", }, allowed_oauth_flows: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._allowedOauthFlows), isBlock: false, type: "set", storageClassType: "stringList", }, allowed_oauth_flows_user_pool_client: { value: cdktf.booleanToHclTerraform(this._allowedOauthFlowsUserPoolClient), isBlock: false, type: "simple", storageClassType: "boolean", }, allowed_oauth_scopes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._allowedOauthScopes), isBlock: false, type: "set", storageClassType: "stringList", }, auth_session_validity: { value: cdktf.numberToHclTerraform(this._authSessionValidity), isBlock: false, type: "simple", storageClassType: "number", }, callback_urls: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._callbackUrls), isBlock: false, type: "set", storageClassType: "stringList", }, default_redirect_uri: { value: cdktf.stringToHclTerraform(this._defaultRedirectUri), isBlock: false, type: "simple", storageClassType: "string", }, enable_propagate_additional_user_context_data: { value: cdktf.booleanToHclTerraform(this._enablePropagateAdditionalUserContextData), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_token_revocation: { value: cdktf.booleanToHclTerraform(this._enableTokenRevocation), isBlock: false, type: "simple", storageClassType: "boolean", }, explicit_auth_flows: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._explicitAuthFlows), isBlock: false, type: "set", storageClassType: "stringList", }, generate_secret: { value: cdktf.booleanToHclTerraform(this._generateSecret), isBlock: false, type: "simple", storageClassType: "boolean", }, id_token_validity: { value: cdktf.numberToHclTerraform(this._idTokenValidity), isBlock: false, type: "simple", storageClassType: "number", }, logout_urls: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._logoutUrls), isBlock: false, type: "set", storageClassType: "stringList", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, prevent_user_existence_errors: { value: cdktf.stringToHclTerraform(this._preventUserExistenceErrors), isBlock: false, type: "simple", storageClassType: "string", }, read_attributes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._readAttributes), isBlock: false, type: "set", storageClassType: "stringList", }, refresh_token_validity: { value: cdktf.numberToHclTerraform(this._refreshTokenValidity), isBlock: false, type: "simple", storageClassType: "number", }, supported_identity_providers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._supportedIdentityProviders), isBlock: false, type: "set", storageClassType: "stringList", }, user_pool_id: { value: cdktf.stringToHclTerraform(this._userPoolId), isBlock: false, type: "simple", storageClassType: "string", }, write_attributes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._writeAttributes), isBlock: false, type: "set", storageClassType: "stringList", }, analytics_configuration: { value: cdktf.listMapperHcl(cognitoUserPoolClientAnalyticsConfigurationToHclTerraform, true)(this._analyticsConfiguration.internalValue), isBlock: true, type: "list", storageClassType: "CognitoUserPoolClientAnalyticsConfigurationList", }, token_validity_units: { value: cdktf.listMapperHcl(cognitoUserPoolClientTokenValidityUnitsToHclTerraform, true)(this._tokenValidityUnits.internalValue), isBlock: true, type: "list", storageClassType: "CognitoUserPoolClientTokenValidityUnitsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.CognitoUserPoolClient = CognitoUserPoolClient; _e = JSII_RTTI_SYMBOL_1; CognitoUserPoolClient[_e] = { fqn: "@cdktf/provider-aws.cognitoUserPoolClient.CognitoUserPoolClient", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= CognitoUserPoolClient.tfResourceType = "aws_cognito_user_pool_client"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29nbml0by11c2VyLXBvb2wtY2xpZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBeUgvQixTQUFnQixzREFBc0QsQ0FBQyxNQUF3RTtJQUM3SSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsZUFBZSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsY0FBYyxDQUFDO1FBQ2hFLGNBQWMsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGFBQWEsQ0FBQztRQUM5RCxXQUFXLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7UUFDeEQsUUFBUSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2xELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFPLENBQUMsY0FBYyxDQUFDO0tBQ25FLENBQUE7QUFDSCxDQUFDO0FBWkQsd0hBWUM7QUFHRCxTQUFnQix5REFBeUQsQ0FBQyxNQUF3RTtJQUNoSixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFB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