github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/connect/user.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 connect 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an Amazon Connect User resource. For more information see 16 // [Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) 17 // 18 // ## Example Usage 19 // 20 // ### Basic 21 // 22 // <!--Start PulumiCodeChooser --> 23 // ```go 24 // package main 25 // 26 // import ( 27 // 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // _, err := connect.NewUser(ctx, "example", &connect.UserArgs{ 36 // InstanceId: pulumi.Any(exampleAwsConnectInstance.Id), 37 // Name: pulumi.String("example"), 38 // Password: pulumi.String("Password123"), 39 // RoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId), 40 // SecurityProfileIds: pulumi.StringArray{ 41 // exampleAwsConnectSecurityProfile.SecurityProfileId, 42 // }, 43 // IdentityInfo: &connect.UserIdentityInfoArgs{ 44 // FirstName: pulumi.String("example"), 45 // LastName: pulumi.String("example2"), 46 // }, 47 // PhoneConfig: &connect.UserPhoneConfigArgs{ 48 // AfterContactWorkTimeLimit: pulumi.Int(0), 49 // PhoneType: pulumi.String("SOFT_PHONE"), 50 // }, 51 // }) 52 // if err != nil { 53 // return err 54 // } 55 // return nil 56 // }) 57 // } 58 // 59 // ``` 60 // <!--End PulumiCodeChooser --> 61 // 62 // ### With hierarchyGroupId 63 // 64 // <!--Start PulumiCodeChooser --> 65 // ```go 66 // package main 67 // 68 // import ( 69 // 70 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 71 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 72 // 73 // ) 74 // 75 // func main() { 76 // pulumi.Run(func(ctx *pulumi.Context) error { 77 // _, err := connect.NewUser(ctx, "example", &connect.UserArgs{ 78 // InstanceId: pulumi.Any(exampleAwsConnectInstance.Id), 79 // Name: pulumi.String("example"), 80 // Password: pulumi.String("Password123"), 81 // RoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId), 82 // HierarchyGroupId: pulumi.Any(exampleAwsConnectUserHierarchyGroup.HierarchyGroupId), 83 // SecurityProfileIds: pulumi.StringArray{ 84 // exampleAwsConnectSecurityProfile.SecurityProfileId, 85 // }, 86 // IdentityInfo: &connect.UserIdentityInfoArgs{ 87 // FirstName: pulumi.String("example"), 88 // LastName: pulumi.String("example2"), 89 // }, 90 // PhoneConfig: &connect.UserPhoneConfigArgs{ 91 // AfterContactWorkTimeLimit: pulumi.Int(0), 92 // PhoneType: pulumi.String("SOFT_PHONE"), 93 // }, 94 // }) 95 // if err != nil { 96 // return err 97 // } 98 // return nil 99 // }) 100 // } 101 // 102 // ``` 103 // <!--End PulumiCodeChooser --> 104 // 105 // ### With identityInfo filled 106 // 107 // <!--Start PulumiCodeChooser --> 108 // ```go 109 // package main 110 // 111 // import ( 112 // 113 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 114 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 115 // 116 // ) 117 // 118 // func main() { 119 // pulumi.Run(func(ctx *pulumi.Context) error { 120 // _, err := connect.NewUser(ctx, "example", &connect.UserArgs{ 121 // InstanceId: pulumi.Any(exampleAwsConnectInstance.Id), 122 // Name: pulumi.String("example"), 123 // Password: pulumi.String("Password123"), 124 // RoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId), 125 // SecurityProfileIds: pulumi.StringArray{ 126 // exampleAwsConnectSecurityProfile.SecurityProfileId, 127 // }, 128 // IdentityInfo: &connect.UserIdentityInfoArgs{ 129 // Email: pulumi.String("example@example.com"), 130 // FirstName: pulumi.String("example"), 131 // LastName: pulumi.String("example2"), 132 // }, 133 // PhoneConfig: &connect.UserPhoneConfigArgs{ 134 // AfterContactWorkTimeLimit: pulumi.Int(0), 135 // PhoneType: pulumi.String("SOFT_PHONE"), 136 // }, 137 // }) 138 // if err != nil { 139 // return err 140 // } 141 // return nil 142 // }) 143 // } 144 // 145 // ``` 146 // <!--End PulumiCodeChooser --> 147 // 148 // ### With phoneConfig phone type as desk phone 149 // 150 // <!--Start PulumiCodeChooser --> 151 // ```go 152 // package main 153 // 154 // import ( 155 // 156 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 157 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 158 // 159 // ) 160 // 161 // func main() { 162 // pulumi.Run(func(ctx *pulumi.Context) error { 163 // _, err := connect.NewUser(ctx, "example", &connect.UserArgs{ 164 // InstanceId: pulumi.Any(exampleAwsConnectInstance.Id), 165 // Name: pulumi.String("example"), 166 // Password: pulumi.String("Password123"), 167 // RoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId), 168 // SecurityProfileIds: pulumi.StringArray{ 169 // exampleAwsConnectSecurityProfile.SecurityProfileId, 170 // }, 171 // PhoneConfig: &connect.UserPhoneConfigArgs{ 172 // AfterContactWorkTimeLimit: pulumi.Int(0), 173 // PhoneType: pulumi.String("SOFT_PHONE"), 174 // }, 175 // }) 176 // if err != nil { 177 // return err 178 // } 179 // return nil 180 // }) 181 // } 182 // 183 // ``` 184 // <!--End PulumiCodeChooser --> 185 // 186 // ### With multiple Security profile ids specified in securityProfileIds 187 // 188 // <!--Start PulumiCodeChooser --> 189 // ```go 190 // package main 191 // 192 // import ( 193 // 194 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 195 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 196 // 197 // ) 198 // 199 // func main() { 200 // pulumi.Run(func(ctx *pulumi.Context) error { 201 // _, err := connect.NewUser(ctx, "example", &connect.UserArgs{ 202 // InstanceId: pulumi.Any(exampleAwsConnectInstance.Id), 203 // Name: pulumi.String("example"), 204 // Password: pulumi.String("Password123"), 205 // RoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId), 206 // SecurityProfileIds: pulumi.StringArray{ 207 // exampleAwsConnectSecurityProfile.SecurityProfileId, 208 // example2.SecurityProfileId, 209 // }, 210 // PhoneConfig: &connect.UserPhoneConfigArgs{ 211 // AfterContactWorkTimeLimit: pulumi.Int(0), 212 // AutoAccept: pulumi.Bool(false), 213 // DeskPhoneNumber: pulumi.String("+112345678912"), 214 // PhoneType: pulumi.String("DESK_PHONE"), 215 // }, 216 // }) 217 // if err != nil { 218 // return err 219 // } 220 // return nil 221 // }) 222 // } 223 // 224 // ``` 225 // <!--End PulumiCodeChooser --> 226 // 227 // ## Import 228 // 229 // Using `pulumi import`, import Amazon Connect Users using the `instance_id` and `user_id` separated by a colon (`:`). For example: 230 // 231 // ```sh 232 // $ pulumi import aws:connect/user:User example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 233 // ``` 234 type User struct { 235 pulumi.CustomResourceState 236 237 // The Amazon Resource Name (ARN) of the user. 238 Arn pulumi.StringOutput `pulumi:"arn"` 239 // The identifier of the user account in the directory used for identity management. If Amazon Connect cannot access the directory, you can specify this identifier to authenticate users. If you include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity information is used to authenticate users from your directory. This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an error is returned. 240 DirectoryUserId pulumi.StringOutput `pulumi:"directoryUserId"` 241 // The identifier of the hierarchy group for the user. 242 HierarchyGroupId pulumi.StringPtrOutput `pulumi:"hierarchyGroupId"` 243 // A block that contains information about the identity of the user. Documented below. 244 IdentityInfo UserIdentityInfoPtrOutput `pulumi:"identityInfo"` 245 // Specifies the identifier of the hosting Amazon Connect Instance. 246 InstanceId pulumi.StringOutput `pulumi:"instanceId"` 247 // The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from `[a-zA-Z0-9_-.\@]+`. 248 Name pulumi.StringOutput `pulumi:"name"` 249 // The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password. 250 Password pulumi.StringPtrOutput `pulumi:"password"` 251 // A block that contains information about the phone settings for the user. Documented below. 252 PhoneConfig UserPhoneConfigOutput `pulumi:"phoneConfig"` 253 // The identifier of the routing profile for the user. 254 RoutingProfileId pulumi.StringOutput `pulumi:"routingProfileId"` 255 // A list of identifiers for the security profiles for the user. Specify a minimum of 1 and maximum of 10 security profile ids. For more information, see [Best Practices for Security Profiles](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html) in the Amazon Connect Administrator Guide. 256 SecurityProfileIds pulumi.StringArrayOutput `pulumi:"securityProfileIds"` 257 // Tags to apply to the user. If configured with a provider 258 // `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 259 Tags pulumi.StringMapOutput `pulumi:"tags"` 260 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 261 // 262 // Deprecated: Please use `tags` instead. 263 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 264 // The identifier for the user. 265 UserId pulumi.StringOutput `pulumi:"userId"` 266 } 267 268 // NewUser registers a new resource with the given unique name, arguments, and options. 269 func NewUser(ctx *pulumi.Context, 270 name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error) { 271 if args == nil { 272 return nil, errors.New("missing one or more required arguments") 273 } 274 275 if args.InstanceId == nil { 276 return nil, errors.New("invalid value for required argument 'InstanceId'") 277 } 278 if args.PhoneConfig == nil { 279 return nil, errors.New("invalid value for required argument 'PhoneConfig'") 280 } 281 if args.RoutingProfileId == nil { 282 return nil, errors.New("invalid value for required argument 'RoutingProfileId'") 283 } 284 if args.SecurityProfileIds == nil { 285 return nil, errors.New("invalid value for required argument 'SecurityProfileIds'") 286 } 287 if args.Password != nil { 288 args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) 289 } 290 secrets := pulumi.AdditionalSecretOutputs([]string{ 291 "password", 292 }) 293 opts = append(opts, secrets) 294 opts = internal.PkgResourceDefaultOpts(opts) 295 var resource User 296 err := ctx.RegisterResource("aws:connect/user:User", name, args, &resource, opts...) 297 if err != nil { 298 return nil, err 299 } 300 return &resource, nil 301 } 302 303 // GetUser gets an existing User resource's state with the given name, ID, and optional 304 // state properties that are used to uniquely qualify the lookup (nil if not required). 305 func GetUser(ctx *pulumi.Context, 306 name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error) { 307 var resource User 308 err := ctx.ReadResource("aws:connect/user:User", name, id, state, &resource, opts...) 309 if err != nil { 310 return nil, err 311 } 312 return &resource, nil 313 } 314 315 // Input properties used for looking up and filtering User resources. 316 type userState struct { 317 // The Amazon Resource Name (ARN) of the user. 318 Arn *string `pulumi:"arn"` 319 // The identifier of the user account in the directory used for identity management. If Amazon Connect cannot access the directory, you can specify this identifier to authenticate users. If you include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity information is used to authenticate users from your directory. This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an error is returned. 320 DirectoryUserId *string `pulumi:"directoryUserId"` 321 // The identifier of the hierarchy group for the user. 322 HierarchyGroupId *string `pulumi:"hierarchyGroupId"` 323 // A block that contains information about the identity of the user. Documented below. 324 IdentityInfo *UserIdentityInfo `pulumi:"identityInfo"` 325 // Specifies the identifier of the hosting Amazon Connect Instance. 326 InstanceId *string `pulumi:"instanceId"` 327 // The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from `[a-zA-Z0-9_-.\@]+`. 328 Name *string `pulumi:"name"` 329 // The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password. 330 Password *string `pulumi:"password"` 331 // A block that contains information about the phone settings for the user. Documented below. 332 PhoneConfig *UserPhoneConfig `pulumi:"phoneConfig"` 333 // The identifier of the routing profile for the user. 334 RoutingProfileId *string `pulumi:"routingProfileId"` 335 // A list of identifiers for the security profiles for the user. Specify a minimum of 1 and maximum of 10 security profile ids. For more information, see [Best Practices for Security Profiles](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html) in the Amazon Connect Administrator Guide. 336 SecurityProfileIds []string `pulumi:"securityProfileIds"` 337 // Tags to apply to the user. If configured with a provider 338 // `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 339 Tags map[string]string `pulumi:"tags"` 340 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 341 // 342 // Deprecated: Please use `tags` instead. 343 TagsAll map[string]string `pulumi:"tagsAll"` 344 // The identifier for the user. 345 UserId *string `pulumi:"userId"` 346 } 347 348 type UserState struct { 349 // The Amazon Resource Name (ARN) of the user. 350 Arn pulumi.StringPtrInput 351 // The identifier of the user account in the directory used for identity management. If Amazon Connect cannot access the directory, you can specify this identifier to authenticate users. If you include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity information is used to authenticate users from your directory. This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an error is returned. 352 DirectoryUserId pulumi.StringPtrInput 353 // The identifier of the hierarchy group for the user. 354 HierarchyGroupId pulumi.StringPtrInput 355 // A block that contains information about the identity of the user. Documented below. 356 IdentityInfo UserIdentityInfoPtrInput 357 // Specifies the identifier of the hosting Amazon Connect Instance. 358 InstanceId pulumi.StringPtrInput 359 // The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from `[a-zA-Z0-9_-.\@]+`. 360 Name pulumi.StringPtrInput 361 // The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password. 362 Password pulumi.StringPtrInput 363 // A block that contains information about the phone settings for the user. Documented below. 364 PhoneConfig UserPhoneConfigPtrInput 365 // The identifier of the routing profile for the user. 366 RoutingProfileId pulumi.StringPtrInput 367 // A list of identifiers for the security profiles for the user. Specify a minimum of 1 and maximum of 10 security profile ids. For more information, see [Best Practices for Security Profiles](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html) in the Amazon Connect Administrator Guide. 368 SecurityProfileIds pulumi.StringArrayInput 369 // Tags to apply to the user. If configured with a provider 370 // `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 371 Tags pulumi.StringMapInput 372 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 373 // 374 // Deprecated: Please use `tags` instead. 375 TagsAll pulumi.StringMapInput 376 // The identifier for the user. 377 UserId pulumi.StringPtrInput 378 } 379 380 func (UserState) ElementType() reflect.Type { 381 return reflect.TypeOf((*userState)(nil)).Elem() 382 } 383 384 type userArgs struct { 385 // The identifier of the user account in the directory used for identity management. If Amazon Connect cannot access the directory, you can specify this identifier to authenticate users. If you include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity information is used to authenticate users from your directory. This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an error is returned. 386 DirectoryUserId *string `pulumi:"directoryUserId"` 387 // The identifier of the hierarchy group for the user. 388 HierarchyGroupId *string `pulumi:"hierarchyGroupId"` 389 // A block that contains information about the identity of the user. Documented below. 390 IdentityInfo *UserIdentityInfo `pulumi:"identityInfo"` 391 // Specifies the identifier of the hosting Amazon Connect Instance. 392 InstanceId string `pulumi:"instanceId"` 393 // The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from `[a-zA-Z0-9_-.\@]+`. 394 Name *string `pulumi:"name"` 395 // The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password. 396 Password *string `pulumi:"password"` 397 // A block that contains information about the phone settings for the user. Documented below. 398 PhoneConfig UserPhoneConfig `pulumi:"phoneConfig"` 399 // The identifier of the routing profile for the user. 400 RoutingProfileId string `pulumi:"routingProfileId"` 401 // A list of identifiers for the security profiles for the user. Specify a minimum of 1 and maximum of 10 security profile ids. For more information, see [Best Practices for Security Profiles](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html) in the Amazon Connect Administrator Guide. 402 SecurityProfileIds []string `pulumi:"securityProfileIds"` 403 // Tags to apply to the user. If configured with a provider 404 // `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 405 Tags map[string]string `pulumi:"tags"` 406 } 407 408 // The set of arguments for constructing a User resource. 409 type UserArgs struct { 410 // The identifier of the user account in the directory used for identity management. If Amazon Connect cannot access the directory, you can specify this identifier to authenticate users. If you include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity information is used to authenticate users from your directory. This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an error is returned. 411 DirectoryUserId pulumi.StringPtrInput 412 // The identifier of the hierarchy group for the user. 413 HierarchyGroupId pulumi.StringPtrInput 414 // A block that contains information about the identity of the user. Documented below. 415 IdentityInfo UserIdentityInfoPtrInput 416 // Specifies the identifier of the hosting Amazon Connect Instance. 417 InstanceId pulumi.StringInput 418 // The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from `[a-zA-Z0-9_-.\@]+`. 419 Name pulumi.StringPtrInput 420 // The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password. 421 Password pulumi.StringPtrInput 422 // A block that contains information about the phone settings for the user. Documented below. 423 PhoneConfig UserPhoneConfigInput 424 // The identifier of the routing profile for the user. 425 RoutingProfileId pulumi.StringInput 426 // A list of identifiers for the security profiles for the user. Specify a minimum of 1 and maximum of 10 security profile ids. For more information, see [Best Practices for Security Profiles](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html) in the Amazon Connect Administrator Guide. 427 SecurityProfileIds pulumi.StringArrayInput 428 // Tags to apply to the user. If configured with a provider 429 // `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 430 Tags pulumi.StringMapInput 431 } 432 433 func (UserArgs) ElementType() reflect.Type { 434 return reflect.TypeOf((*userArgs)(nil)).Elem() 435 } 436 437 type UserInput interface { 438 pulumi.Input 439 440 ToUserOutput() UserOutput 441 ToUserOutputWithContext(ctx context.Context) UserOutput 442 } 443 444 func (*User) ElementType() reflect.Type { 445 return reflect.TypeOf((**User)(nil)).Elem() 446 } 447 448 func (i *User) ToUserOutput() UserOutput { 449 return i.ToUserOutputWithContext(context.Background()) 450 } 451 452 func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput { 453 return pulumi.ToOutputWithContext(ctx, i).(UserOutput) 454 } 455 456 // UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. 457 // You can construct a concrete instance of `UserArrayInput` via: 458 // 459 // UserArray{ UserArgs{...} } 460 type UserArrayInput interface { 461 pulumi.Input 462 463 ToUserArrayOutput() UserArrayOutput 464 ToUserArrayOutputWithContext(context.Context) UserArrayOutput 465 } 466 467 type UserArray []UserInput 468 469 func (UserArray) ElementType() reflect.Type { 470 return reflect.TypeOf((*[]*User)(nil)).Elem() 471 } 472 473 func (i UserArray) ToUserArrayOutput() UserArrayOutput { 474 return i.ToUserArrayOutputWithContext(context.Background()) 475 } 476 477 func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput { 478 return pulumi.ToOutputWithContext(ctx, i).(UserArrayOutput) 479 } 480 481 // UserMapInput is an input type that accepts UserMap and UserMapOutput values. 482 // You can construct a concrete instance of `UserMapInput` via: 483 // 484 // UserMap{ "key": UserArgs{...} } 485 type UserMapInput interface { 486 pulumi.Input 487 488 ToUserMapOutput() UserMapOutput 489 ToUserMapOutputWithContext(context.Context) UserMapOutput 490 } 491 492 type UserMap map[string]UserInput 493 494 func (UserMap) ElementType() reflect.Type { 495 return reflect.TypeOf((*map[string]*User)(nil)).Elem() 496 } 497 498 func (i UserMap) ToUserMapOutput() UserMapOutput { 499 return i.ToUserMapOutputWithContext(context.Background()) 500 } 501 502 func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput { 503 return pulumi.ToOutputWithContext(ctx, i).(UserMapOutput) 504 } 505 506 type UserOutput struct{ *pulumi.OutputState } 507 508 func (UserOutput) ElementType() reflect.Type { 509 return reflect.TypeOf((**User)(nil)).Elem() 510 } 511 512 func (o UserOutput) ToUserOutput() UserOutput { 513 return o 514 } 515 516 func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput { 517 return o 518 } 519 520 // The Amazon Resource Name (ARN) of the user. 521 func (o UserOutput) Arn() pulumi.StringOutput { 522 return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 523 } 524 525 // The identifier of the user account in the directory used for identity management. If Amazon Connect cannot access the directory, you can specify this identifier to authenticate users. If you include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity information is used to authenticate users from your directory. This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an error is returned. 526 func (o UserOutput) DirectoryUserId() pulumi.StringOutput { 527 return o.ApplyT(func(v *User) pulumi.StringOutput { return v.DirectoryUserId }).(pulumi.StringOutput) 528 } 529 530 // The identifier of the hierarchy group for the user. 531 func (o UserOutput) HierarchyGroupId() pulumi.StringPtrOutput { 532 return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.HierarchyGroupId }).(pulumi.StringPtrOutput) 533 } 534 535 // A block that contains information about the identity of the user. Documented below. 536 func (o UserOutput) IdentityInfo() UserIdentityInfoPtrOutput { 537 return o.ApplyT(func(v *User) UserIdentityInfoPtrOutput { return v.IdentityInfo }).(UserIdentityInfoPtrOutput) 538 } 539 540 // Specifies the identifier of the hosting Amazon Connect Instance. 541 func (o UserOutput) InstanceId() pulumi.StringOutput { 542 return o.ApplyT(func(v *User) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) 543 } 544 545 // The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from `[a-zA-Z0-9_-.\@]+`. 546 func (o UserOutput) Name() pulumi.StringOutput { 547 return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 548 } 549 550 // The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password. 551 func (o UserOutput) Password() pulumi.StringPtrOutput { 552 return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) 553 } 554 555 // A block that contains information about the phone settings for the user. Documented below. 556 func (o UserOutput) PhoneConfig() UserPhoneConfigOutput { 557 return o.ApplyT(func(v *User) UserPhoneConfigOutput { return v.PhoneConfig }).(UserPhoneConfigOutput) 558 } 559 560 // The identifier of the routing profile for the user. 561 func (o UserOutput) RoutingProfileId() pulumi.StringOutput { 562 return o.ApplyT(func(v *User) pulumi.StringOutput { return v.RoutingProfileId }).(pulumi.StringOutput) 563 } 564 565 // A list of identifiers for the security profiles for the user. Specify a minimum of 1 and maximum of 10 security profile ids. For more information, see [Best Practices for Security Profiles](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html) in the Amazon Connect Administrator Guide. 566 func (o UserOutput) SecurityProfileIds() pulumi.StringArrayOutput { 567 return o.ApplyT(func(v *User) pulumi.StringArrayOutput { return v.SecurityProfileIds }).(pulumi.StringArrayOutput) 568 } 569 570 // Tags to apply to the user. If configured with a provider 571 // `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 572 func (o UserOutput) Tags() pulumi.StringMapOutput { 573 return o.ApplyT(func(v *User) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 574 } 575 576 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 577 // 578 // Deprecated: Please use `tags` instead. 579 func (o UserOutput) TagsAll() pulumi.StringMapOutput { 580 return o.ApplyT(func(v *User) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 581 } 582 583 // The identifier for the user. 584 func (o UserOutput) UserId() pulumi.StringOutput { 585 return o.ApplyT(func(v *User) pulumi.StringOutput { return v.UserId }).(pulumi.StringOutput) 586 } 587 588 type UserArrayOutput struct{ *pulumi.OutputState } 589 590 func (UserArrayOutput) ElementType() reflect.Type { 591 return reflect.TypeOf((*[]*User)(nil)).Elem() 592 } 593 594 func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput { 595 return o 596 } 597 598 func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput { 599 return o 600 } 601 602 func (o UserArrayOutput) Index(i pulumi.IntInput) UserOutput { 603 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *User { 604 return vs[0].([]*User)[vs[1].(int)] 605 }).(UserOutput) 606 } 607 608 type UserMapOutput struct{ *pulumi.OutputState } 609 610 func (UserMapOutput) ElementType() reflect.Type { 611 return reflect.TypeOf((*map[string]*User)(nil)).Elem() 612 } 613 614 func (o UserMapOutput) ToUserMapOutput() UserMapOutput { 615 return o 616 } 617 618 func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput { 619 return o 620 } 621 622 func (o UserMapOutput) MapIndex(k pulumi.StringInput) UserOutput { 623 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *User { 624 return vs[0].(map[string]*User)[vs[1].(string)] 625 }).(UserOutput) 626 } 627 628 func init() { 629 pulumi.RegisterInputType(reflect.TypeOf((*UserInput)(nil)).Elem(), &User{}) 630 pulumi.RegisterInputType(reflect.TypeOf((*UserArrayInput)(nil)).Elem(), UserArray{}) 631 pulumi.RegisterInputType(reflect.TypeOf((*UserMapInput)(nil)).Elem(), UserMap{}) 632 pulumi.RegisterOutputType(UserOutput{}) 633 pulumi.RegisterOutputType(UserArrayOutput{}) 634 pulumi.RegisterOutputType(UserMapOutput{}) 635 }