All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.connect.inputs.UserPhoneConfigArgs Maven / Gradle / Ivy

// *** 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.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class UserPhoneConfigArgs extends com.pulumi.resources.ResourceArgs {

    public static final UserPhoneConfigArgs Empty = new UserPhoneConfigArgs();

    /**
     * The After Call Work (ACW) timeout setting, in seconds. Minimum value of 0.
     * 
     */
    @Import(name="afterContactWorkTimeLimit")
    private @Nullable Output afterContactWorkTimeLimit;

    /**
     * @return The After Call Work (ACW) timeout setting, in seconds. Minimum value of 0.
     * 
     */
    public Optional> afterContactWorkTimeLimit() {
        return Optional.ofNullable(this.afterContactWorkTimeLimit);
    }

    /**
     * When Auto-Accept Call is enabled for an available agent, the agent connects to contacts automatically.
     * 
     */
    @Import(name="autoAccept")
    private @Nullable Output autoAccept;

    /**
     * @return When Auto-Accept Call is enabled for an available agent, the agent connects to contacts automatically.
     * 
     */
    public Optional> autoAccept() {
        return Optional.ofNullable(this.autoAccept);
    }

    /**
     * The phone number for the user's desk phone. Required if `phone_type` is set as `DESK_PHONE`.
     * 
     */
    @Import(name="deskPhoneNumber")
    private @Nullable Output deskPhoneNumber;

    /**
     * @return The phone number for the user's desk phone. Required if `phone_type` is set as `DESK_PHONE`.
     * 
     */
    public Optional> deskPhoneNumber() {
        return Optional.ofNullable(this.deskPhoneNumber);
    }

    /**
     * The phone type. Valid values are `DESK_PHONE` and `SOFT_PHONE`.
     * 
     */
    @Import(name="phoneType", required=true)
    private Output phoneType;

    /**
     * @return The phone type. Valid values are `DESK_PHONE` and `SOFT_PHONE`.
     * 
     */
    public Output phoneType() {
        return this.phoneType;
    }

    private UserPhoneConfigArgs() {}

    private UserPhoneConfigArgs(UserPhoneConfigArgs $) {
        this.afterContactWorkTimeLimit = $.afterContactWorkTimeLimit;
        this.autoAccept = $.autoAccept;
        this.deskPhoneNumber = $.deskPhoneNumber;
        this.phoneType = $.phoneType;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(UserPhoneConfigArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private UserPhoneConfigArgs $;

        public Builder() {
            $ = new UserPhoneConfigArgs();
        }

        public Builder(UserPhoneConfigArgs defaults) {
            $ = new UserPhoneConfigArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param afterContactWorkTimeLimit The After Call Work (ACW) timeout setting, in seconds. Minimum value of 0.
         * 
         * @return builder
         * 
         */
        public Builder afterContactWorkTimeLimit(@Nullable Output afterContactWorkTimeLimit) {
            $.afterContactWorkTimeLimit = afterContactWorkTimeLimit;
            return this;
        }

        /**
         * @param afterContactWorkTimeLimit The After Call Work (ACW) timeout setting, in seconds. Minimum value of 0.
         * 
         * @return builder
         * 
         */
        public Builder afterContactWorkTimeLimit(Integer afterContactWorkTimeLimit) {
            return afterContactWorkTimeLimit(Output.of(afterContactWorkTimeLimit));
        }

        /**
         * @param autoAccept When Auto-Accept Call is enabled for an available agent, the agent connects to contacts automatically.
         * 
         * @return builder
         * 
         */
        public Builder autoAccept(@Nullable Output autoAccept) {
            $.autoAccept = autoAccept;
            return this;
        }

        /**
         * @param autoAccept When Auto-Accept Call is enabled for an available agent, the agent connects to contacts automatically.
         * 
         * @return builder
         * 
         */
        public Builder autoAccept(Boolean autoAccept) {
            return autoAccept(Output.of(autoAccept));
        }

        /**
         * @param deskPhoneNumber The phone number for the user's desk phone. Required if `phone_type` is set as `DESK_PHONE`.
         * 
         * @return builder
         * 
         */
        public Builder deskPhoneNumber(@Nullable Output deskPhoneNumber) {
            $.deskPhoneNumber = deskPhoneNumber;
            return this;
        }

        /**
         * @param deskPhoneNumber The phone number for the user's desk phone. Required if `phone_type` is set as `DESK_PHONE`.
         * 
         * @return builder
         * 
         */
        public Builder deskPhoneNumber(String deskPhoneNumber) {
            return deskPhoneNumber(Output.of(deskPhoneNumber));
        }

        /**
         * @param phoneType The phone type. Valid values are `DESK_PHONE` and `SOFT_PHONE`.
         * 
         * @return builder
         * 
         */
        public Builder phoneType(Output phoneType) {
            $.phoneType = phoneType;
            return this;
        }

        /**
         * @param phoneType The phone type. Valid values are `DESK_PHONE` and `SOFT_PHONE`.
         * 
         * @return builder
         * 
         */
        public Builder phoneType(String phoneType) {
            return phoneType(Output.of(phoneType));
        }

        public UserPhoneConfigArgs build() {
            if ($.phoneType == null) {
                throw new MissingRequiredPropertyException("UserPhoneConfigArgs", "phoneType");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy