github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cognito/userPool.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package cognito 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Provides a Cognito User Pool resource. 15 // 16 // ## Example Usage 17 // 18 // ### Basic configuration 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := cognito.NewUserPool(ctx, "pool", &cognito.UserPoolArgs{ 34 // Name: pulumi.String("mypool"), 35 // }) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 // 46 // ### Enabling SMS and Software Token Multi-Factor Authentication 47 // 48 // <!--Start PulumiCodeChooser --> 49 // ```go 50 // package main 51 // 52 // import ( 53 // 54 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito" 55 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 56 // 57 // ) 58 // 59 // func main() { 60 // pulumi.Run(func(ctx *pulumi.Context) error { 61 // _, err := cognito.NewUserPool(ctx, "example", &cognito.UserPoolArgs{ 62 // MfaConfiguration: pulumi.String("ON"), 63 // SmsAuthenticationMessage: pulumi.String("Your code is {####}"), 64 // SmsConfiguration: &cognito.UserPoolSmsConfigurationArgs{ 65 // ExternalId: pulumi.String("example"), 66 // SnsCallerArn: pulumi.Any(exampleAwsIamRole.Arn), 67 // SnsRegion: pulumi.String("us-east-1"), 68 // }, 69 // SoftwareTokenMfaConfiguration: &cognito.UserPoolSoftwareTokenMfaConfigurationArgs{ 70 // Enabled: pulumi.Bool(true), 71 // }, 72 // }) 73 // if err != nil { 74 // return err 75 // } 76 // return nil 77 // }) 78 // } 79 // 80 // ``` 81 // <!--End PulumiCodeChooser --> 82 // 83 // ### Using Account Recovery Setting 84 // 85 // <!--Start PulumiCodeChooser --> 86 // ```go 87 // package main 88 // 89 // import ( 90 // 91 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito" 92 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 93 // 94 // ) 95 // 96 // func main() { 97 // pulumi.Run(func(ctx *pulumi.Context) error { 98 // _, err := cognito.NewUserPool(ctx, "test", &cognito.UserPoolArgs{ 99 // Name: pulumi.String("mypool"), 100 // AccountRecoverySetting: &cognito.UserPoolAccountRecoverySettingArgs{ 101 // RecoveryMechanisms: cognito.UserPoolAccountRecoverySettingRecoveryMechanismArray{ 102 // &cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{ 103 // Name: pulumi.String("verified_email"), 104 // Priority: pulumi.Int(1), 105 // }, 106 // &cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{ 107 // Name: pulumi.String("verified_phone_number"), 108 // Priority: pulumi.Int(2), 109 // }, 110 // }, 111 // }, 112 // }) 113 // if err != nil { 114 // return err 115 // } 116 // return nil 117 // }) 118 // } 119 // 120 // ``` 121 // <!--End PulumiCodeChooser --> 122 // 123 // ## Import 124 // 125 // Using `pulumi import`, import Cognito User Pools using the `id`. For example: 126 // 127 // ```sh 128 // $ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123 129 // ``` 130 type UserPool struct { 131 pulumi.CustomResourceState 132 133 // Configuration block to define which verified available method a user can use to recover their forgotten password. Detailed below. 134 AccountRecoverySetting UserPoolAccountRecoverySettingPtrOutput `pulumi:"accountRecoverySetting"` 135 // Configuration block for creating a new user profile. Detailed below. 136 AdminCreateUserConfig UserPoolAdminCreateUserConfigOutput `pulumi:"adminCreateUserConfig"` 137 // Attributes supported as an alias for this user pool. Valid values: `phoneNumber`, `email`, or `preferredUsername`. Conflicts with `usernameAttributes`. 138 AliasAttributes pulumi.StringArrayOutput `pulumi:"aliasAttributes"` 139 // ARN of the user pool. 140 Arn pulumi.StringOutput `pulumi:"arn"` 141 // Attributes to be auto-verified. Valid values: `email`, `phoneNumber`. 142 AutoVerifiedAttributes pulumi.StringArrayOutput `pulumi:"autoVerifiedAttributes"` 143 // Date the user pool was created. 144 CreationDate pulumi.StringOutput `pulumi:"creationDate"` 145 // A custom domain name that you provide to Amazon Cognito. This parameter applies only if you use a custom domain to host the sign-up and sign-in pages for your application. For example: `auth.example.com`. 146 CustomDomain pulumi.StringOutput `pulumi:"customDomain"` 147 // When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature. Valid values are `ACTIVE` and `INACTIVE`, Default value is `INACTIVE`. 148 DeletionProtection pulumi.StringPtrOutput `pulumi:"deletionProtection"` 149 // Configuration block for the user pool's device tracking. Detailed below. 150 DeviceConfiguration UserPoolDeviceConfigurationPtrOutput `pulumi:"deviceConfiguration"` 151 // Holds the domain prefix if the user pool has a domain associated with it. 152 Domain pulumi.StringOutput `pulumi:"domain"` 153 // Configuration block for configuring email. Detailed below. 154 EmailConfiguration UserPoolEmailConfigurationPtrOutput `pulumi:"emailConfiguration"` 155 // String representing the email verification message. Conflicts with `verificationMessageTemplate` configuration block `emailMessage` argument. 156 EmailVerificationMessage pulumi.StringOutput `pulumi:"emailVerificationMessage"` 157 // String representing the email verification subject. Conflicts with `verificationMessageTemplate` configuration block `emailSubject` argument. 158 EmailVerificationSubject pulumi.StringOutput `pulumi:"emailVerificationSubject"` 159 // Endpoint name of the user pool. Example format: `cognito-idp.REGION.amazonaws.com/xxxx_yyyyy` 160 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 161 // A number estimating the size of the user pool. 162 EstimatedNumberOfUsers pulumi.IntOutput `pulumi:"estimatedNumberOfUsers"` 163 // Configuration block for the AWS Lambda triggers associated with the user pool. Detailed below. 164 LambdaConfig UserPoolLambdaConfigPtrOutput `pulumi:"lambdaConfig"` 165 // Date the user pool was last modified. 166 LastModifiedDate pulumi.StringOutput `pulumi:"lastModifiedDate"` 167 // Multi-Factor Authentication (MFA) configuration for the User Pool. Defaults of `OFF`. Valid values are `OFF` (MFA Tokens are not required), `ON` (MFA is required for all users to sign in; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured), or `OPTIONAL` (MFA Will be required only for individual users who have MFA Enabled; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured). 168 MfaConfiguration pulumi.StringPtrOutput `pulumi:"mfaConfiguration"` 169 // Name of the user pool. 170 // 171 // The following arguments are optional: 172 Name pulumi.StringOutput `pulumi:"name"` 173 // Configuration block for information about the user pool password policy. Detailed below. 174 PasswordPolicy UserPoolPasswordPolicyOutput `pulumi:"passwordPolicy"` 175 // Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. 176 Schemas UserPoolSchemaArrayOutput `pulumi:"schemas"` 177 // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. 178 SmsAuthenticationMessage pulumi.StringPtrOutput `pulumi:"smsAuthenticationMessage"` 179 // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. 180 SmsConfiguration UserPoolSmsConfigurationOutput `pulumi:"smsConfiguration"` 181 // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. 182 SmsVerificationMessage pulumi.StringOutput `pulumi:"smsVerificationMessage"` 183 // Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. 184 SoftwareTokenMfaConfiguration UserPoolSoftwareTokenMfaConfigurationPtrOutput `pulumi:"softwareTokenMfaConfiguration"` 185 // Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 186 Tags pulumi.StringMapOutput `pulumi:"tags"` 187 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 188 // 189 // Deprecated: Please use `tags` instead. 190 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 191 // Configuration block for user attribute update settings. Detailed below. 192 UserAttributeUpdateSettings UserPoolUserAttributeUpdateSettingsPtrOutput `pulumi:"userAttributeUpdateSettings"` 193 // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. 194 UserPoolAddOns UserPoolUserPoolAddOnsPtrOutput `pulumi:"userPoolAddOns"` 195 // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. 196 UsernameAttributes pulumi.StringArrayOutput `pulumi:"usernameAttributes"` 197 // Configuration block for username configuration. Detailed below. 198 UsernameConfiguration UserPoolUsernameConfigurationPtrOutput `pulumi:"usernameConfiguration"` 199 // Configuration block for verification message templates. Detailed below. 200 VerificationMessageTemplate UserPoolVerificationMessageTemplateOutput `pulumi:"verificationMessageTemplate"` 201 } 202 203 // NewUserPool registers a new resource with the given unique name, arguments, and options. 204 func NewUserPool(ctx *pulumi.Context, 205 name string, args *UserPoolArgs, opts ...pulumi.ResourceOption) (*UserPool, error) { 206 if args == nil { 207 args = &UserPoolArgs{} 208 } 209 210 opts = internal.PkgResourceDefaultOpts(opts) 211 var resource UserPool 212 err := ctx.RegisterResource("aws:cognito/userPool:UserPool", name, args, &resource, opts...) 213 if err != nil { 214 return nil, err 215 } 216 return &resource, nil 217 } 218 219 // GetUserPool gets an existing UserPool resource's state with the given name, ID, and optional 220 // state properties that are used to uniquely qualify the lookup (nil if not required). 221 func GetUserPool(ctx *pulumi.Context, 222 name string, id pulumi.IDInput, state *UserPoolState, opts ...pulumi.ResourceOption) (*UserPool, error) { 223 var resource UserPool 224 err := ctx.ReadResource("aws:cognito/userPool:UserPool", name, id, state, &resource, opts...) 225 if err != nil { 226 return nil, err 227 } 228 return &resource, nil 229 } 230 231 // Input properties used for looking up and filtering UserPool resources. 232 type userPoolState struct { 233 // Configuration block to define which verified available method a user can use to recover their forgotten password. Detailed below. 234 AccountRecoverySetting *UserPoolAccountRecoverySetting `pulumi:"accountRecoverySetting"` 235 // Configuration block for creating a new user profile. Detailed below. 236 AdminCreateUserConfig *UserPoolAdminCreateUserConfig `pulumi:"adminCreateUserConfig"` 237 // Attributes supported as an alias for this user pool. Valid values: `phoneNumber`, `email`, or `preferredUsername`. Conflicts with `usernameAttributes`. 238 AliasAttributes []string `pulumi:"aliasAttributes"` 239 // ARN of the user pool. 240 Arn *string `pulumi:"arn"` 241 // Attributes to be auto-verified. Valid values: `email`, `phoneNumber`. 242 AutoVerifiedAttributes []string `pulumi:"autoVerifiedAttributes"` 243 // Date the user pool was created. 244 CreationDate *string `pulumi:"creationDate"` 245 // A custom domain name that you provide to Amazon Cognito. This parameter applies only if you use a custom domain to host the sign-up and sign-in pages for your application. For example: `auth.example.com`. 246 CustomDomain *string `pulumi:"customDomain"` 247 // When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature. Valid values are `ACTIVE` and `INACTIVE`, Default value is `INACTIVE`. 248 DeletionProtection *string `pulumi:"deletionProtection"` 249 // Configuration block for the user pool's device tracking. Detailed below. 250 DeviceConfiguration *UserPoolDeviceConfiguration `pulumi:"deviceConfiguration"` 251 // Holds the domain prefix if the user pool has a domain associated with it. 252 Domain *string `pulumi:"domain"` 253 // Configuration block for configuring email. Detailed below. 254 EmailConfiguration *UserPoolEmailConfiguration `pulumi:"emailConfiguration"` 255 // String representing the email verification message. Conflicts with `verificationMessageTemplate` configuration block `emailMessage` argument. 256 EmailVerificationMessage *string `pulumi:"emailVerificationMessage"` 257 // String representing the email verification subject. Conflicts with `verificationMessageTemplate` configuration block `emailSubject` argument. 258 EmailVerificationSubject *string `pulumi:"emailVerificationSubject"` 259 // Endpoint name of the user pool. Example format: `cognito-idp.REGION.amazonaws.com/xxxx_yyyyy` 260 Endpoint *string `pulumi:"endpoint"` 261 // A number estimating the size of the user pool. 262 EstimatedNumberOfUsers *int `pulumi:"estimatedNumberOfUsers"` 263 // Configuration block for the AWS Lambda triggers associated with the user pool. Detailed below. 264 LambdaConfig *UserPoolLambdaConfig `pulumi:"lambdaConfig"` 265 // Date the user pool was last modified. 266 LastModifiedDate *string `pulumi:"lastModifiedDate"` 267 // Multi-Factor Authentication (MFA) configuration for the User Pool. Defaults of `OFF`. Valid values are `OFF` (MFA Tokens are not required), `ON` (MFA is required for all users to sign in; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured), or `OPTIONAL` (MFA Will be required only for individual users who have MFA Enabled; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured). 268 MfaConfiguration *string `pulumi:"mfaConfiguration"` 269 // Name of the user pool. 270 // 271 // The following arguments are optional: 272 Name *string `pulumi:"name"` 273 // Configuration block for information about the user pool password policy. Detailed below. 274 PasswordPolicy *UserPoolPasswordPolicy `pulumi:"passwordPolicy"` 275 // Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. 276 Schemas []UserPoolSchema `pulumi:"schemas"` 277 // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. 278 SmsAuthenticationMessage *string `pulumi:"smsAuthenticationMessage"` 279 // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. 280 SmsConfiguration *UserPoolSmsConfiguration `pulumi:"smsConfiguration"` 281 // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. 282 SmsVerificationMessage *string `pulumi:"smsVerificationMessage"` 283 // Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. 284 SoftwareTokenMfaConfiguration *UserPoolSoftwareTokenMfaConfiguration `pulumi:"softwareTokenMfaConfiguration"` 285 // Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 286 Tags map[string]string `pulumi:"tags"` 287 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 288 // 289 // Deprecated: Please use `tags` instead. 290 TagsAll map[string]string `pulumi:"tagsAll"` 291 // Configuration block for user attribute update settings. Detailed below. 292 UserAttributeUpdateSettings *UserPoolUserAttributeUpdateSettings `pulumi:"userAttributeUpdateSettings"` 293 // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. 294 UserPoolAddOns *UserPoolUserPoolAddOns `pulumi:"userPoolAddOns"` 295 // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. 296 UsernameAttributes []string `pulumi:"usernameAttributes"` 297 // Configuration block for username configuration. Detailed below. 298 UsernameConfiguration *UserPoolUsernameConfiguration `pulumi:"usernameConfiguration"` 299 // Configuration block for verification message templates. Detailed below. 300 VerificationMessageTemplate *UserPoolVerificationMessageTemplate `pulumi:"verificationMessageTemplate"` 301 } 302 303 type UserPoolState struct { 304 // Configuration block to define which verified available method a user can use to recover their forgotten password. Detailed below. 305 AccountRecoverySetting UserPoolAccountRecoverySettingPtrInput 306 // Configuration block for creating a new user profile. Detailed below. 307 AdminCreateUserConfig UserPoolAdminCreateUserConfigPtrInput 308 // Attributes supported as an alias for this user pool. Valid values: `phoneNumber`, `email`, or `preferredUsername`. Conflicts with `usernameAttributes`. 309 AliasAttributes pulumi.StringArrayInput 310 // ARN of the user pool. 311 Arn pulumi.StringPtrInput 312 // Attributes to be auto-verified. Valid values: `email`, `phoneNumber`. 313 AutoVerifiedAttributes pulumi.StringArrayInput 314 // Date the user pool was created. 315 CreationDate pulumi.StringPtrInput 316 // A custom domain name that you provide to Amazon Cognito. This parameter applies only if you use a custom domain to host the sign-up and sign-in pages for your application. For example: `auth.example.com`. 317 CustomDomain pulumi.StringPtrInput 318 // When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature. Valid values are `ACTIVE` and `INACTIVE`, Default value is `INACTIVE`. 319 DeletionProtection pulumi.StringPtrInput 320 // Configuration block for the user pool's device tracking. Detailed below. 321 DeviceConfiguration UserPoolDeviceConfigurationPtrInput 322 // Holds the domain prefix if the user pool has a domain associated with it. 323 Domain pulumi.StringPtrInput 324 // Configuration block for configuring email. Detailed below. 325 EmailConfiguration UserPoolEmailConfigurationPtrInput 326 // String representing the email verification message. Conflicts with `verificationMessageTemplate` configuration block `emailMessage` argument. 327 EmailVerificationMessage pulumi.StringPtrInput 328 // String representing the email verification subject. Conflicts with `verificationMessageTemplate` configuration block `emailSubject` argument. 329 EmailVerificationSubject pulumi.StringPtrInput 330 // Endpoint name of the user pool. Example format: `cognito-idp.REGION.amazonaws.com/xxxx_yyyyy` 331 Endpoint pulumi.StringPtrInput 332 // A number estimating the size of the user pool. 333 EstimatedNumberOfUsers pulumi.IntPtrInput 334 // Configuration block for the AWS Lambda triggers associated with the user pool. Detailed below. 335 LambdaConfig UserPoolLambdaConfigPtrInput 336 // Date the user pool was last modified. 337 LastModifiedDate pulumi.StringPtrInput 338 // Multi-Factor Authentication (MFA) configuration for the User Pool. Defaults of `OFF`. Valid values are `OFF` (MFA Tokens are not required), `ON` (MFA is required for all users to sign in; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured), or `OPTIONAL` (MFA Will be required only for individual users who have MFA Enabled; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured). 339 MfaConfiguration pulumi.StringPtrInput 340 // Name of the user pool. 341 // 342 // The following arguments are optional: 343 Name pulumi.StringPtrInput 344 // Configuration block for information about the user pool password policy. Detailed below. 345 PasswordPolicy UserPoolPasswordPolicyPtrInput 346 // Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. 347 Schemas UserPoolSchemaArrayInput 348 // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. 349 SmsAuthenticationMessage pulumi.StringPtrInput 350 // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. 351 SmsConfiguration UserPoolSmsConfigurationPtrInput 352 // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. 353 SmsVerificationMessage pulumi.StringPtrInput 354 // Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. 355 SoftwareTokenMfaConfiguration UserPoolSoftwareTokenMfaConfigurationPtrInput 356 // Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 357 Tags pulumi.StringMapInput 358 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 359 // 360 // Deprecated: Please use `tags` instead. 361 TagsAll pulumi.StringMapInput 362 // Configuration block for user attribute update settings. Detailed below. 363 UserAttributeUpdateSettings UserPoolUserAttributeUpdateSettingsPtrInput 364 // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. 365 UserPoolAddOns UserPoolUserPoolAddOnsPtrInput 366 // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. 367 UsernameAttributes pulumi.StringArrayInput 368 // Configuration block for username configuration. Detailed below. 369 UsernameConfiguration UserPoolUsernameConfigurationPtrInput 370 // Configuration block for verification message templates. Detailed below. 371 VerificationMessageTemplate UserPoolVerificationMessageTemplatePtrInput 372 } 373 374 func (UserPoolState) ElementType() reflect.Type { 375 return reflect.TypeOf((*userPoolState)(nil)).Elem() 376 } 377 378 type userPoolArgs struct { 379 // Configuration block to define which verified available method a user can use to recover their forgotten password. Detailed below. 380 AccountRecoverySetting *UserPoolAccountRecoverySetting `pulumi:"accountRecoverySetting"` 381 // Configuration block for creating a new user profile. Detailed below. 382 AdminCreateUserConfig *UserPoolAdminCreateUserConfig `pulumi:"adminCreateUserConfig"` 383 // Attributes supported as an alias for this user pool. Valid values: `phoneNumber`, `email`, or `preferredUsername`. Conflicts with `usernameAttributes`. 384 AliasAttributes []string `pulumi:"aliasAttributes"` 385 // Attributes to be auto-verified. Valid values: `email`, `phoneNumber`. 386 AutoVerifiedAttributes []string `pulumi:"autoVerifiedAttributes"` 387 // When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature. Valid values are `ACTIVE` and `INACTIVE`, Default value is `INACTIVE`. 388 DeletionProtection *string `pulumi:"deletionProtection"` 389 // Configuration block for the user pool's device tracking. Detailed below. 390 DeviceConfiguration *UserPoolDeviceConfiguration `pulumi:"deviceConfiguration"` 391 // Configuration block for configuring email. Detailed below. 392 EmailConfiguration *UserPoolEmailConfiguration `pulumi:"emailConfiguration"` 393 // String representing the email verification message. Conflicts with `verificationMessageTemplate` configuration block `emailMessage` argument. 394 EmailVerificationMessage *string `pulumi:"emailVerificationMessage"` 395 // String representing the email verification subject. Conflicts with `verificationMessageTemplate` configuration block `emailSubject` argument. 396 EmailVerificationSubject *string `pulumi:"emailVerificationSubject"` 397 // Configuration block for the AWS Lambda triggers associated with the user pool. Detailed below. 398 LambdaConfig *UserPoolLambdaConfig `pulumi:"lambdaConfig"` 399 // Multi-Factor Authentication (MFA) configuration for the User Pool. Defaults of `OFF`. Valid values are `OFF` (MFA Tokens are not required), `ON` (MFA is required for all users to sign in; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured), or `OPTIONAL` (MFA Will be required only for individual users who have MFA Enabled; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured). 400 MfaConfiguration *string `pulumi:"mfaConfiguration"` 401 // Name of the user pool. 402 // 403 // The following arguments are optional: 404 Name *string `pulumi:"name"` 405 // Configuration block for information about the user pool password policy. Detailed below. 406 PasswordPolicy *UserPoolPasswordPolicy `pulumi:"passwordPolicy"` 407 // Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. 408 Schemas []UserPoolSchema `pulumi:"schemas"` 409 // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. 410 SmsAuthenticationMessage *string `pulumi:"smsAuthenticationMessage"` 411 // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. 412 SmsConfiguration *UserPoolSmsConfiguration `pulumi:"smsConfiguration"` 413 // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. 414 SmsVerificationMessage *string `pulumi:"smsVerificationMessage"` 415 // Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. 416 SoftwareTokenMfaConfiguration *UserPoolSoftwareTokenMfaConfiguration `pulumi:"softwareTokenMfaConfiguration"` 417 // Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 418 Tags map[string]string `pulumi:"tags"` 419 // Configuration block for user attribute update settings. Detailed below. 420 UserAttributeUpdateSettings *UserPoolUserAttributeUpdateSettings `pulumi:"userAttributeUpdateSettings"` 421 // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. 422 UserPoolAddOns *UserPoolUserPoolAddOns `pulumi:"userPoolAddOns"` 423 // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. 424 UsernameAttributes []string `pulumi:"usernameAttributes"` 425 // Configuration block for username configuration. Detailed below. 426 UsernameConfiguration *UserPoolUsernameConfiguration `pulumi:"usernameConfiguration"` 427 // Configuration block for verification message templates. Detailed below. 428 VerificationMessageTemplate *UserPoolVerificationMessageTemplate `pulumi:"verificationMessageTemplate"` 429 } 430 431 // The set of arguments for constructing a UserPool resource. 432 type UserPoolArgs struct { 433 // Configuration block to define which verified available method a user can use to recover their forgotten password. Detailed below. 434 AccountRecoverySetting UserPoolAccountRecoverySettingPtrInput 435 // Configuration block for creating a new user profile. Detailed below. 436 AdminCreateUserConfig UserPoolAdminCreateUserConfigPtrInput 437 // Attributes supported as an alias for this user pool. Valid values: `phoneNumber`, `email`, or `preferredUsername`. Conflicts with `usernameAttributes`. 438 AliasAttributes pulumi.StringArrayInput 439 // Attributes to be auto-verified. Valid values: `email`, `phoneNumber`. 440 AutoVerifiedAttributes pulumi.StringArrayInput 441 // When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature. Valid values are `ACTIVE` and `INACTIVE`, Default value is `INACTIVE`. 442 DeletionProtection pulumi.StringPtrInput 443 // Configuration block for the user pool's device tracking. Detailed below. 444 DeviceConfiguration UserPoolDeviceConfigurationPtrInput 445 // Configuration block for configuring email. Detailed below. 446 EmailConfiguration UserPoolEmailConfigurationPtrInput 447 // String representing the email verification message. Conflicts with `verificationMessageTemplate` configuration block `emailMessage` argument. 448 EmailVerificationMessage pulumi.StringPtrInput 449 // String representing the email verification subject. Conflicts with `verificationMessageTemplate` configuration block `emailSubject` argument. 450 EmailVerificationSubject pulumi.StringPtrInput 451 // Configuration block for the AWS Lambda triggers associated with the user pool. Detailed below. 452 LambdaConfig UserPoolLambdaConfigPtrInput 453 // Multi-Factor Authentication (MFA) configuration for the User Pool. Defaults of `OFF`. Valid values are `OFF` (MFA Tokens are not required), `ON` (MFA is required for all users to sign in; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured), or `OPTIONAL` (MFA Will be required only for individual users who have MFA Enabled; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured). 454 MfaConfiguration pulumi.StringPtrInput 455 // Name of the user pool. 456 // 457 // The following arguments are optional: 458 Name pulumi.StringPtrInput 459 // Configuration block for information about the user pool password policy. Detailed below. 460 PasswordPolicy UserPoolPasswordPolicyPtrInput 461 // Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. 462 Schemas UserPoolSchemaArrayInput 463 // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. 464 SmsAuthenticationMessage pulumi.StringPtrInput 465 // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. 466 SmsConfiguration UserPoolSmsConfigurationPtrInput 467 // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. 468 SmsVerificationMessage pulumi.StringPtrInput 469 // Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. 470 SoftwareTokenMfaConfiguration UserPoolSoftwareTokenMfaConfigurationPtrInput 471 // Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 472 Tags pulumi.StringMapInput 473 // Configuration block for user attribute update settings. Detailed below. 474 UserAttributeUpdateSettings UserPoolUserAttributeUpdateSettingsPtrInput 475 // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. 476 UserPoolAddOns UserPoolUserPoolAddOnsPtrInput 477 // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. 478 UsernameAttributes pulumi.StringArrayInput 479 // Configuration block for username configuration. Detailed below. 480 UsernameConfiguration UserPoolUsernameConfigurationPtrInput 481 // Configuration block for verification message templates. Detailed below. 482 VerificationMessageTemplate UserPoolVerificationMessageTemplatePtrInput 483 } 484 485 func (UserPoolArgs) ElementType() reflect.Type { 486 return reflect.TypeOf((*userPoolArgs)(nil)).Elem() 487 } 488 489 type UserPoolInput interface { 490 pulumi.Input 491 492 ToUserPoolOutput() UserPoolOutput 493 ToUserPoolOutputWithContext(ctx context.Context) UserPoolOutput 494 } 495 496 func (*UserPool) ElementType() reflect.Type { 497 return reflect.TypeOf((**UserPool)(nil)).Elem() 498 } 499 500 func (i *UserPool) ToUserPoolOutput() UserPoolOutput { 501 return i.ToUserPoolOutputWithContext(context.Background()) 502 } 503 504 func (i *UserPool) ToUserPoolOutputWithContext(ctx context.Context) UserPoolOutput { 505 return pulumi.ToOutputWithContext(ctx, i).(UserPoolOutput) 506 } 507 508 // UserPoolArrayInput is an input type that accepts UserPoolArray and UserPoolArrayOutput values. 509 // You can construct a concrete instance of `UserPoolArrayInput` via: 510 // 511 // UserPoolArray{ UserPoolArgs{...} } 512 type UserPoolArrayInput interface { 513 pulumi.Input 514 515 ToUserPoolArrayOutput() UserPoolArrayOutput 516 ToUserPoolArrayOutputWithContext(context.Context) UserPoolArrayOutput 517 } 518 519 type UserPoolArray []UserPoolInput 520 521 func (UserPoolArray) ElementType() reflect.Type { 522 return reflect.TypeOf((*[]*UserPool)(nil)).Elem() 523 } 524 525 func (i UserPoolArray) ToUserPoolArrayOutput() UserPoolArrayOutput { 526 return i.ToUserPoolArrayOutputWithContext(context.Background()) 527 } 528 529 func (i UserPoolArray) ToUserPoolArrayOutputWithContext(ctx context.Context) UserPoolArrayOutput { 530 return pulumi.ToOutputWithContext(ctx, i).(UserPoolArrayOutput) 531 } 532 533 // UserPoolMapInput is an input type that accepts UserPoolMap and UserPoolMapOutput values. 534 // You can construct a concrete instance of `UserPoolMapInput` via: 535 // 536 // UserPoolMap{ "key": UserPoolArgs{...} } 537 type UserPoolMapInput interface { 538 pulumi.Input 539 540 ToUserPoolMapOutput() UserPoolMapOutput 541 ToUserPoolMapOutputWithContext(context.Context) UserPoolMapOutput 542 } 543 544 type UserPoolMap map[string]UserPoolInput 545 546 func (UserPoolMap) ElementType() reflect.Type { 547 return reflect.TypeOf((*map[string]*UserPool)(nil)).Elem() 548 } 549 550 func (i UserPoolMap) ToUserPoolMapOutput() UserPoolMapOutput { 551 return i.ToUserPoolMapOutputWithContext(context.Background()) 552 } 553 554 func (i UserPoolMap) ToUserPoolMapOutputWithContext(ctx context.Context) UserPoolMapOutput { 555 return pulumi.ToOutputWithContext(ctx, i).(UserPoolMapOutput) 556 } 557 558 type UserPoolOutput struct{ *pulumi.OutputState } 559 560 func (UserPoolOutput) ElementType() reflect.Type { 561 return reflect.TypeOf((**UserPool)(nil)).Elem() 562 } 563 564 func (o UserPoolOutput) ToUserPoolOutput() UserPoolOutput { 565 return o 566 } 567 568 func (o UserPoolOutput) ToUserPoolOutputWithContext(ctx context.Context) UserPoolOutput { 569 return o 570 } 571 572 // Configuration block to define which verified available method a user can use to recover their forgotten password. Detailed below. 573 func (o UserPoolOutput) AccountRecoverySetting() UserPoolAccountRecoverySettingPtrOutput { 574 return o.ApplyT(func(v *UserPool) UserPoolAccountRecoverySettingPtrOutput { return v.AccountRecoverySetting }).(UserPoolAccountRecoverySettingPtrOutput) 575 } 576 577 // Configuration block for creating a new user profile. Detailed below. 578 func (o UserPoolOutput) AdminCreateUserConfig() UserPoolAdminCreateUserConfigOutput { 579 return o.ApplyT(func(v *UserPool) UserPoolAdminCreateUserConfigOutput { return v.AdminCreateUserConfig }).(UserPoolAdminCreateUserConfigOutput) 580 } 581 582 // Attributes supported as an alias for this user pool. Valid values: `phoneNumber`, `email`, or `preferredUsername`. Conflicts with `usernameAttributes`. 583 func (o UserPoolOutput) AliasAttributes() pulumi.StringArrayOutput { 584 return o.ApplyT(func(v *UserPool) pulumi.StringArrayOutput { return v.AliasAttributes }).(pulumi.StringArrayOutput) 585 } 586 587 // ARN of the user pool. 588 func (o UserPoolOutput) Arn() pulumi.StringOutput { 589 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 590 } 591 592 // Attributes to be auto-verified. Valid values: `email`, `phoneNumber`. 593 func (o UserPoolOutput) AutoVerifiedAttributes() pulumi.StringArrayOutput { 594 return o.ApplyT(func(v *UserPool) pulumi.StringArrayOutput { return v.AutoVerifiedAttributes }).(pulumi.StringArrayOutput) 595 } 596 597 // Date the user pool was created. 598 func (o UserPoolOutput) CreationDate() pulumi.StringOutput { 599 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) 600 } 601 602 // A custom domain name that you provide to Amazon Cognito. This parameter applies only if you use a custom domain to host the sign-up and sign-in pages for your application. For example: `auth.example.com`. 603 func (o UserPoolOutput) CustomDomain() pulumi.StringOutput { 604 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.CustomDomain }).(pulumi.StringOutput) 605 } 606 607 // When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature. Valid values are `ACTIVE` and `INACTIVE`, Default value is `INACTIVE`. 608 func (o UserPoolOutput) DeletionProtection() pulumi.StringPtrOutput { 609 return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.DeletionProtection }).(pulumi.StringPtrOutput) 610 } 611 612 // Configuration block for the user pool's device tracking. Detailed below. 613 func (o UserPoolOutput) DeviceConfiguration() UserPoolDeviceConfigurationPtrOutput { 614 return o.ApplyT(func(v *UserPool) UserPoolDeviceConfigurationPtrOutput { return v.DeviceConfiguration }).(UserPoolDeviceConfigurationPtrOutput) 615 } 616 617 // Holds the domain prefix if the user pool has a domain associated with it. 618 func (o UserPoolOutput) Domain() pulumi.StringOutput { 619 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) 620 } 621 622 // Configuration block for configuring email. Detailed below. 623 func (o UserPoolOutput) EmailConfiguration() UserPoolEmailConfigurationPtrOutput { 624 return o.ApplyT(func(v *UserPool) UserPoolEmailConfigurationPtrOutput { return v.EmailConfiguration }).(UserPoolEmailConfigurationPtrOutput) 625 } 626 627 // String representing the email verification message. Conflicts with `verificationMessageTemplate` configuration block `emailMessage` argument. 628 func (o UserPoolOutput) EmailVerificationMessage() pulumi.StringOutput { 629 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.EmailVerificationMessage }).(pulumi.StringOutput) 630 } 631 632 // String representing the email verification subject. Conflicts with `verificationMessageTemplate` configuration block `emailSubject` argument. 633 func (o UserPoolOutput) EmailVerificationSubject() pulumi.StringOutput { 634 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.EmailVerificationSubject }).(pulumi.StringOutput) 635 } 636 637 // Endpoint name of the user pool. Example format: `cognito-idp.REGION.amazonaws.com/xxxx_yyyyy` 638 func (o UserPoolOutput) Endpoint() pulumi.StringOutput { 639 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 640 } 641 642 // A number estimating the size of the user pool. 643 func (o UserPoolOutput) EstimatedNumberOfUsers() pulumi.IntOutput { 644 return o.ApplyT(func(v *UserPool) pulumi.IntOutput { return v.EstimatedNumberOfUsers }).(pulumi.IntOutput) 645 } 646 647 // Configuration block for the AWS Lambda triggers associated with the user pool. Detailed below. 648 func (o UserPoolOutput) LambdaConfig() UserPoolLambdaConfigPtrOutput { 649 return o.ApplyT(func(v *UserPool) UserPoolLambdaConfigPtrOutput { return v.LambdaConfig }).(UserPoolLambdaConfigPtrOutput) 650 } 651 652 // Date the user pool was last modified. 653 func (o UserPoolOutput) LastModifiedDate() pulumi.StringOutput { 654 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.LastModifiedDate }).(pulumi.StringOutput) 655 } 656 657 // Multi-Factor Authentication (MFA) configuration for the User Pool. Defaults of `OFF`. Valid values are `OFF` (MFA Tokens are not required), `ON` (MFA is required for all users to sign in; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured), or `OPTIONAL` (MFA Will be required only for individual users who have MFA Enabled; requires at least one of `smsConfiguration` or `softwareTokenMfaConfiguration` to be configured). 658 func (o UserPoolOutput) MfaConfiguration() pulumi.StringPtrOutput { 659 return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.MfaConfiguration }).(pulumi.StringPtrOutput) 660 } 661 662 // Name of the user pool. 663 // 664 // The following arguments are optional: 665 func (o UserPoolOutput) Name() pulumi.StringOutput { 666 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 667 } 668 669 // Configuration block for information about the user pool password policy. Detailed below. 670 func (o UserPoolOutput) PasswordPolicy() UserPoolPasswordPolicyOutput { 671 return o.ApplyT(func(v *UserPool) UserPoolPasswordPolicyOutput { return v.PasswordPolicy }).(UserPoolPasswordPolicyOutput) 672 } 673 674 // Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. 675 func (o UserPoolOutput) Schemas() UserPoolSchemaArrayOutput { 676 return o.ApplyT(func(v *UserPool) UserPoolSchemaArrayOutput { return v.Schemas }).(UserPoolSchemaArrayOutput) 677 } 678 679 // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. 680 func (o UserPoolOutput) SmsAuthenticationMessage() pulumi.StringPtrOutput { 681 return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.SmsAuthenticationMessage }).(pulumi.StringPtrOutput) 682 } 683 684 // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. 685 func (o UserPoolOutput) SmsConfiguration() UserPoolSmsConfigurationOutput { 686 return o.ApplyT(func(v *UserPool) UserPoolSmsConfigurationOutput { return v.SmsConfiguration }).(UserPoolSmsConfigurationOutput) 687 } 688 689 // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. 690 func (o UserPoolOutput) SmsVerificationMessage() pulumi.StringOutput { 691 return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.SmsVerificationMessage }).(pulumi.StringOutput) 692 } 693 694 // Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. 695 func (o UserPoolOutput) SoftwareTokenMfaConfiguration() UserPoolSoftwareTokenMfaConfigurationPtrOutput { 696 return o.ApplyT(func(v *UserPool) UserPoolSoftwareTokenMfaConfigurationPtrOutput { 697 return v.SoftwareTokenMfaConfiguration 698 }).(UserPoolSoftwareTokenMfaConfigurationPtrOutput) 699 } 700 701 // Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 702 func (o UserPoolOutput) Tags() pulumi.StringMapOutput { 703 return o.ApplyT(func(v *UserPool) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 704 } 705 706 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 707 // 708 // Deprecated: Please use `tags` instead. 709 func (o UserPoolOutput) TagsAll() pulumi.StringMapOutput { 710 return o.ApplyT(func(v *UserPool) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 711 } 712 713 // Configuration block for user attribute update settings. Detailed below. 714 func (o UserPoolOutput) UserAttributeUpdateSettings() UserPoolUserAttributeUpdateSettingsPtrOutput { 715 return o.ApplyT(func(v *UserPool) UserPoolUserAttributeUpdateSettingsPtrOutput { return v.UserAttributeUpdateSettings }).(UserPoolUserAttributeUpdateSettingsPtrOutput) 716 } 717 718 // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. 719 func (o UserPoolOutput) UserPoolAddOns() UserPoolUserPoolAddOnsPtrOutput { 720 return o.ApplyT(func(v *UserPool) UserPoolUserPoolAddOnsPtrOutput { return v.UserPoolAddOns }).(UserPoolUserPoolAddOnsPtrOutput) 721 } 722 723 // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. 724 func (o UserPoolOutput) UsernameAttributes() pulumi.StringArrayOutput { 725 return o.ApplyT(func(v *UserPool) pulumi.StringArrayOutput { return v.UsernameAttributes }).(pulumi.StringArrayOutput) 726 } 727 728 // Configuration block for username configuration. Detailed below. 729 func (o UserPoolOutput) UsernameConfiguration() UserPoolUsernameConfigurationPtrOutput { 730 return o.ApplyT(func(v *UserPool) UserPoolUsernameConfigurationPtrOutput { return v.UsernameConfiguration }).(UserPoolUsernameConfigurationPtrOutput) 731 } 732 733 // Configuration block for verification message templates. Detailed below. 734 func (o UserPoolOutput) VerificationMessageTemplate() UserPoolVerificationMessageTemplateOutput { 735 return o.ApplyT(func(v *UserPool) UserPoolVerificationMessageTemplateOutput { return v.VerificationMessageTemplate }).(UserPoolVerificationMessageTemplateOutput) 736 } 737 738 type UserPoolArrayOutput struct{ *pulumi.OutputState } 739 740 func (UserPoolArrayOutput) ElementType() reflect.Type { 741 return reflect.TypeOf((*[]*UserPool)(nil)).Elem() 742 } 743 744 func (o UserPoolArrayOutput) ToUserPoolArrayOutput() UserPoolArrayOutput { 745 return o 746 } 747 748 func (o UserPoolArrayOutput) ToUserPoolArrayOutputWithContext(ctx context.Context) UserPoolArrayOutput { 749 return o 750 } 751 752 func (o UserPoolArrayOutput) Index(i pulumi.IntInput) UserPoolOutput { 753 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *UserPool { 754 return vs[0].([]*UserPool)[vs[1].(int)] 755 }).(UserPoolOutput) 756 } 757 758 type UserPoolMapOutput struct{ *pulumi.OutputState } 759 760 func (UserPoolMapOutput) ElementType() reflect.Type { 761 return reflect.TypeOf((*map[string]*UserPool)(nil)).Elem() 762 } 763 764 func (o UserPoolMapOutput) ToUserPoolMapOutput() UserPoolMapOutput { 765 return o 766 } 767 768 func (o UserPoolMapOutput) ToUserPoolMapOutputWithContext(ctx context.Context) UserPoolMapOutput { 769 return o 770 } 771 772 func (o UserPoolMapOutput) MapIndex(k pulumi.StringInput) UserPoolOutput { 773 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *UserPool { 774 return vs[0].(map[string]*UserPool)[vs[1].(string)] 775 }).(UserPoolOutput) 776 } 777 778 func init() { 779 pulumi.RegisterInputType(reflect.TypeOf((*UserPoolInput)(nil)).Elem(), &UserPool{}) 780 pulumi.RegisterInputType(reflect.TypeOf((*UserPoolArrayInput)(nil)).Elem(), UserPoolArray{}) 781 pulumi.RegisterInputType(reflect.TypeOf((*UserPoolMapInput)(nil)).Elem(), UserPoolMap{}) 782 pulumi.RegisterOutputType(UserPoolOutput{}) 783 pulumi.RegisterOutputType(UserPoolArrayOutput{}) 784 pulumi.RegisterOutputType(UserPoolMapOutput{}) 785 }