import * as core from "@terrascript/core"; export interface AnalyticsConfigurationArgs extends core.SchemaArgs { applicationArn?: string | core.StringOut; applicationId?: string | core.StringOut; externalId?: string | core.StringOut; roleArn?: string | core.StringOut; userDataShared?: boolean | core.BooleanOut; } export class AnalyticsConfiguration extends core.Schema { @core.attr(String) public applicationArn?: string | core.StringOut; @core.attr(String) public applicationId?: string | core.StringOut; @core.attr(String) public externalId?: string | core.StringOut; @core.attr(String, { computed: true }) public roleArn?: string | core.StringOut; @core.attr(Boolean) public userDataShared?: boolean | core.BooleanOut; } export interface TokenValidityUnitsArgs extends core.SchemaArgs { accessToken?: string | core.StringOut; idToken?: string | core.StringOut; refreshToken?: string | core.StringOut; } export class TokenValidityUnits extends core.Schema { @core.attr(String) public accessToken?: string | core.StringOut; @core.attr(String) public idToken?: string | core.StringOut; @core.attr(String) public refreshToken?: string | core.StringOut; } export interface UserPoolClientArgs extends core.ResourceArgs { accessTokenValidity?: number | core.NumberOut; allowedOauthFlows?: core.Array | core.ArrayOut; allowedOauthFlowsUserPoolClient?: boolean | core.BooleanOut; allowedOauthScopes?: core.Array | core.ArrayOut; analyticsConfiguration?: AnalyticsConfiguration; callbackUrls?: core.Array | core.ArrayOut; defaultRedirectUri?: string | core.StringOut; enablePropagateAdditionalUserContextData?: boolean | core.BooleanOut; enableTokenRevocation?: boolean | core.BooleanOut; explicitAuthFlows?: core.Array | core.ArrayOut; generateSecret?: boolean | core.BooleanOut; idTokenValidity?: number | core.NumberOut; logoutUrls?: core.Array | core.ArrayOut; name: string | core.StringOut; preventUserExistenceErrors?: string | core.StringOut; readAttributes?: core.Array | core.ArrayOut; refreshTokenValidity?: number | core.NumberOut; supportedIdentityProviders?: | core.Array | core.ArrayOut; tokenValidityUnits?: TokenValidityUnits; userPoolId: string | core.StringOut; writeAttributes?: core.Array | core.ArrayOut; } export class UserPoolClient extends core.Resource { @core.attr(Number) public accessTokenValidity?: number | core.NumberOut; @core.attr(String, { kind: "array" }) public allowedOauthFlows?: core.Array | core.ArrayOut; @core.attr(Boolean) public allowedOauthFlowsUserPoolClient?: boolean | core.BooleanOut; @core.attr(String, { kind: "array" }) public allowedOauthScopes?: | core.Array | core.ArrayOut; @core.attr(AnalyticsConfiguration) public analyticsConfiguration?: AnalyticsConfiguration; @core.attr(String, { computed: true, kind: "array" }) public callbackUrls?: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public clientSecret!: string | core.StringOut; @core.attr(String) public defaultRedirectUri?: string | core.StringOut; @core.attr(Boolean) public enablePropagateAdditionalUserContextData?: boolean | core.BooleanOut; @core.attr(Boolean, { computed: true }) public enableTokenRevocation?: boolean | core.BooleanOut; @core.attr(String, { kind: "array" }) public explicitAuthFlows?: core.Array | core.ArrayOut; @core.attr(Boolean) public generateSecret?: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(Number) public idTokenValidity?: number | core.NumberOut; @core.attr(String, { computed: true, kind: "array" }) public logoutUrls?: core.Array | core.ArrayOut; @core.attr(String) public name!: string | core.StringOut; @core.attr(String, { computed: true }) public preventUserExistenceErrors?: string | core.StringOut; @core.attr(String, { kind: "array" }) public readAttributes?: core.Array | core.ArrayOut; @core.attr(Number) public refreshTokenValidity?: number | core.NumberOut; @core.attr(String, { kind: "array" }) public supportedIdentityProviders?: | core.Array | core.ArrayOut; @core.attr(TokenValidityUnits) public tokenValidityUnits?: TokenValidityUnits; @core.attr(String) public userPoolId!: string | core.StringOut; @core.attr(String, { kind: "array" }) public writeAttributes?: core.Array | core.ArrayOut; constructor(name: string, args?: UserPoolClientArgs) { super(name, "aws_cognito_user_pool_client", args); } public override getNamespace(): string { return "aws_cognito"; } }