Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.connect.UserArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.connect;
import com.pulumi.aws.connect.inputs.UserIdentityInfoArgs;
import com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class UserArgs extends com.pulumi.resources.ResourceArgs {
public static final UserArgs Empty = new UserArgs();
/**
* 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.
*
*/
@Import(name="directoryUserId")
private @Nullable Output directoryUserId;
/**
* @return 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.
*
*/
public Optional> directoryUserId() {
return Optional.ofNullable(this.directoryUserId);
}
/**
* The identifier of the hierarchy group for the user.
*
*/
@Import(name="hierarchyGroupId")
private @Nullable Output hierarchyGroupId;
/**
* @return The identifier of the hierarchy group for the user.
*
*/
public Optional> hierarchyGroupId() {
return Optional.ofNullable(this.hierarchyGroupId);
}
/**
* A block that contains information about the identity of the user. Documented below.
*
*/
@Import(name="identityInfo")
private @Nullable Output identityInfo;
/**
* @return A block that contains information about the identity of the user. Documented below.
*
*/
public Optional> identityInfo() {
return Optional.ofNullable(this.identityInfo);
}
/**
* Specifies the identifier of the hosting Amazon Connect Instance.
*
*/
@Import(name="instanceId", required=true)
private Output instanceId;
/**
* @return Specifies the identifier of the hosting Amazon Connect Instance.
*
*/
public Output instanceId() {
return this.instanceId;
}
/**
* 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_-.\{@literal @}]+`.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return 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_-.\{@literal @}]+`.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* 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.
*
*/
@Import(name="password")
private @Nullable Output password;
/**
* @return 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.
*
*/
public Optional> password() {
return Optional.ofNullable(this.password);
}
/**
* A block that contains information about the phone settings for the user. Documented below.
*
*/
@Import(name="phoneConfig", required=true)
private Output phoneConfig;
/**
* @return A block that contains information about the phone settings for the user. Documented below.
*
*/
public Output phoneConfig() {
return this.phoneConfig;
}
/**
* The identifier of the routing profile for the user.
*
*/
@Import(name="routingProfileId", required=true)
private Output routingProfileId;
/**
* @return The identifier of the routing profile for the user.
*
*/
public Output routingProfileId() {
return this.routingProfileId;
}
/**
* 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.
*
*/
@Import(name="securityProfileIds", required=true)
private Output> securityProfileIds;
/**
* @return 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.
*
*/
public Output> securityProfileIds() {
return this.securityProfileIds;
}
/**
* Tags to apply to the user. If configured with a provider
* `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Tags to apply to the user. If configured with a provider
* `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private UserArgs() {}
private UserArgs(UserArgs $) {
this.directoryUserId = $.directoryUserId;
this.hierarchyGroupId = $.hierarchyGroupId;
this.identityInfo = $.identityInfo;
this.instanceId = $.instanceId;
this.name = $.name;
this.password = $.password;
this.phoneConfig = $.phoneConfig;
this.routingProfileId = $.routingProfileId;
this.securityProfileIds = $.securityProfileIds;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(UserArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private UserArgs $;
public Builder() {
$ = new UserArgs();
}
public Builder(UserArgs defaults) {
$ = new UserArgs(Objects.requireNonNull(defaults));
}
/**
* @param directoryUserId 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.
*
* @return builder
*
*/
public Builder directoryUserId(@Nullable Output directoryUserId) {
$.directoryUserId = directoryUserId;
return this;
}
/**
* @param directoryUserId 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.
*
* @return builder
*
*/
public Builder directoryUserId(String directoryUserId) {
return directoryUserId(Output.of(directoryUserId));
}
/**
* @param hierarchyGroupId The identifier of the hierarchy group for the user.
*
* @return builder
*
*/
public Builder hierarchyGroupId(@Nullable Output hierarchyGroupId) {
$.hierarchyGroupId = hierarchyGroupId;
return this;
}
/**
* @param hierarchyGroupId The identifier of the hierarchy group for the user.
*
* @return builder
*
*/
public Builder hierarchyGroupId(String hierarchyGroupId) {
return hierarchyGroupId(Output.of(hierarchyGroupId));
}
/**
* @param identityInfo A block that contains information about the identity of the user. Documented below.
*
* @return builder
*
*/
public Builder identityInfo(@Nullable Output identityInfo) {
$.identityInfo = identityInfo;
return this;
}
/**
* @param identityInfo A block that contains information about the identity of the user. Documented below.
*
* @return builder
*
*/
public Builder identityInfo(UserIdentityInfoArgs identityInfo) {
return identityInfo(Output.of(identityInfo));
}
/**
* @param instanceId Specifies the identifier of the hosting Amazon Connect Instance.
*
* @return builder
*
*/
public Builder instanceId(Output instanceId) {
$.instanceId = instanceId;
return this;
}
/**
* @param instanceId Specifies the identifier of the hosting Amazon Connect Instance.
*
* @return builder
*
*/
public Builder instanceId(String instanceId) {
return instanceId(Output.of(instanceId));
}
/**
* @param name 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_-.\{@literal @}]+`.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name 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_-.\{@literal @}]+`.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param password 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.
*
* @return builder
*
*/
public Builder password(@Nullable Output password) {
$.password = password;
return this;
}
/**
* @param password 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.
*
* @return builder
*
*/
public Builder password(String password) {
return password(Output.of(password));
}
/**
* @param phoneConfig A block that contains information about the phone settings for the user. Documented below.
*
* @return builder
*
*/
public Builder phoneConfig(Output phoneConfig) {
$.phoneConfig = phoneConfig;
return this;
}
/**
* @param phoneConfig A block that contains information about the phone settings for the user. Documented below.
*
* @return builder
*
*/
public Builder phoneConfig(UserPhoneConfigArgs phoneConfig) {
return phoneConfig(Output.of(phoneConfig));
}
/**
* @param routingProfileId The identifier of the routing profile for the user.
*
* @return builder
*
*/
public Builder routingProfileId(Output routingProfileId) {
$.routingProfileId = routingProfileId;
return this;
}
/**
* @param routingProfileId The identifier of the routing profile for the user.
*
* @return builder
*
*/
public Builder routingProfileId(String routingProfileId) {
return routingProfileId(Output.of(routingProfileId));
}
/**
* @param securityProfileIds 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.
*
* @return builder
*
*/
public Builder securityProfileIds(Output> securityProfileIds) {
$.securityProfileIds = securityProfileIds;
return this;
}
/**
* @param securityProfileIds 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.
*
* @return builder
*
*/
public Builder securityProfileIds(List securityProfileIds) {
return securityProfileIds(Output.of(securityProfileIds));
}
/**
* @param securityProfileIds 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.
*
* @return builder
*
*/
public Builder securityProfileIds(String... securityProfileIds) {
return securityProfileIds(List.of(securityProfileIds));
}
/**
* @param tags Tags to apply to the user. If configured with a provider
* `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Tags to apply to the user. If configured with a provider
* `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public UserArgs build() {
if ($.instanceId == null) {
throw new MissingRequiredPropertyException("UserArgs", "instanceId");
}
if ($.phoneConfig == null) {
throw new MissingRequiredPropertyException("UserArgs", "phoneConfig");
}
if ($.routingProfileId == null) {
throw new MissingRequiredPropertyException("UserArgs", "routingProfileId");
}
if ($.securityProfileIds == null) {
throw new MissingRequiredPropertyException("UserArgs", "securityProfileIds");
}
return $;
}
}
}