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

com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingArgs 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.lex.inputs;

import com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingDefaultValueSpecificationArgs;
import com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingPromptSpecificationArgs;
import com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingSampleUtteranceArgs;
import com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingSlotResolutionSettingArgs;
import com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingWaitAndContinueSpecificationArgs;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final V2modelsSlotValueElicitationSettingArgs Empty = new V2modelsSlotValueElicitationSettingArgs();

    /**
     * List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     * 
     */
    @Import(name="defaultValueSpecifications")
    private @Nullable Output> defaultValueSpecifications;

    /**
     * @return List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     * 
     */
    public Optional>> defaultValueSpecifications() {
        return Optional.ofNullable(this.defaultValueSpecifications);
    }

    /**
     * Prompt that Amazon Lex uses to elicit the slot value from the user.
     * See the `aws.lex.V2modelsIntent` resource for details on the `prompt_specification` argument reference - they are identical.
     * 
     */
    @Import(name="promptSpecification", required=true)
    private Output promptSpecification;

    /**
     * @return Prompt that Amazon Lex uses to elicit the slot value from the user.
     * See the `aws.lex.V2modelsIntent` resource for details on the `prompt_specification` argument reference - they are identical.
     * 
     */
    public Output promptSpecification() {
        return this.promptSpecification;
    }

    @Import(name="sampleUtterances")
    private @Nullable Output> sampleUtterances;

    public Optional>> sampleUtterances() {
        return Optional.ofNullable(this.sampleUtterances);
    }

    /**
     * Whether the slot is required or optional. Valid values are `Required` or `Optional`.
     * 
     */
    @Import(name="slotConstraint", required=true)
    private Output slotConstraint;

    /**
     * @return Whether the slot is required or optional. Valid values are `Required` or `Optional`.
     * 
     */
    public Output slotConstraint() {
        return this.slotConstraint;
    }

    /**
     * Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     * 
     */
    @Import(name="slotResolutionSettings")
    private @Nullable Output> slotResolutionSettings;

    /**
     * @return Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     * 
     */
    public Optional>> slotResolutionSettings() {
        return Optional.ofNullable(this.slotResolutionSettings);
    }

    /**
     * Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     * 
     */
    @Import(name="waitAndContinueSpecifications")
    private @Nullable Output> waitAndContinueSpecifications;

    /**
     * @return Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     * 
     */
    public Optional>> waitAndContinueSpecifications() {
        return Optional.ofNullable(this.waitAndContinueSpecifications);
    }

    private V2modelsSlotValueElicitationSettingArgs() {}

    private V2modelsSlotValueElicitationSettingArgs(V2modelsSlotValueElicitationSettingArgs $) {
        this.defaultValueSpecifications = $.defaultValueSpecifications;
        this.promptSpecification = $.promptSpecification;
        this.sampleUtterances = $.sampleUtterances;
        this.slotConstraint = $.slotConstraint;
        this.slotResolutionSettings = $.slotResolutionSettings;
        this.waitAndContinueSpecifications = $.waitAndContinueSpecifications;
    }

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

    public static final class Builder {
        private V2modelsSlotValueElicitationSettingArgs $;

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

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

        /**
         * @param defaultValueSpecifications List of default values for a slot.
         * See the `default_value_specification` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder defaultValueSpecifications(@Nullable Output> defaultValueSpecifications) {
            $.defaultValueSpecifications = defaultValueSpecifications;
            return this;
        }

        /**
         * @param defaultValueSpecifications List of default values for a slot.
         * See the `default_value_specification` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder defaultValueSpecifications(List defaultValueSpecifications) {
            return defaultValueSpecifications(Output.of(defaultValueSpecifications));
        }

        /**
         * @param defaultValueSpecifications List of default values for a slot.
         * See the `default_value_specification` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder defaultValueSpecifications(V2modelsSlotValueElicitationSettingDefaultValueSpecificationArgs... defaultValueSpecifications) {
            return defaultValueSpecifications(List.of(defaultValueSpecifications));
        }

        /**
         * @param promptSpecification Prompt that Amazon Lex uses to elicit the slot value from the user.
         * See the `aws.lex.V2modelsIntent` resource for details on the `prompt_specification` argument reference - they are identical.
         * 
         * @return builder
         * 
         */
        public Builder promptSpecification(Output promptSpecification) {
            $.promptSpecification = promptSpecification;
            return this;
        }

        /**
         * @param promptSpecification Prompt that Amazon Lex uses to elicit the slot value from the user.
         * See the `aws.lex.V2modelsIntent` resource for details on the `prompt_specification` argument reference - they are identical.
         * 
         * @return builder
         * 
         */
        public Builder promptSpecification(V2modelsSlotValueElicitationSettingPromptSpecificationArgs promptSpecification) {
            return promptSpecification(Output.of(promptSpecification));
        }

        public Builder sampleUtterances(@Nullable Output> sampleUtterances) {
            $.sampleUtterances = sampleUtterances;
            return this;
        }

        public Builder sampleUtterances(List sampleUtterances) {
            return sampleUtterances(Output.of(sampleUtterances));
        }

        public Builder sampleUtterances(V2modelsSlotValueElicitationSettingSampleUtteranceArgs... sampleUtterances) {
            return sampleUtterances(List.of(sampleUtterances));
        }

        /**
         * @param slotConstraint Whether the slot is required or optional. Valid values are `Required` or `Optional`.
         * 
         * @return builder
         * 
         */
        public Builder slotConstraint(Output slotConstraint) {
            $.slotConstraint = slotConstraint;
            return this;
        }

        /**
         * @param slotConstraint Whether the slot is required or optional. Valid values are `Required` or `Optional`.
         * 
         * @return builder
         * 
         */
        public Builder slotConstraint(String slotConstraint) {
            return slotConstraint(Output.of(slotConstraint));
        }

        /**
         * @param slotResolutionSettings Information about whether assisted slot resolution is turned on for the slot or not.
         * See the `slot_resolution_setting` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder slotResolutionSettings(@Nullable Output> slotResolutionSettings) {
            $.slotResolutionSettings = slotResolutionSettings;
            return this;
        }

        /**
         * @param slotResolutionSettings Information about whether assisted slot resolution is turned on for the slot or not.
         * See the `slot_resolution_setting` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder slotResolutionSettings(List slotResolutionSettings) {
            return slotResolutionSettings(Output.of(slotResolutionSettings));
        }

        /**
         * @param slotResolutionSettings Information about whether assisted slot resolution is turned on for the slot or not.
         * See the `slot_resolution_setting` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder slotResolutionSettings(V2modelsSlotValueElicitationSettingSlotResolutionSettingArgs... slotResolutionSettings) {
            return slotResolutionSettings(List.of(slotResolutionSettings));
        }

        /**
         * @param waitAndContinueSpecifications Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
         * See the `wait_and_continue_specification` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder waitAndContinueSpecifications(@Nullable Output> waitAndContinueSpecifications) {
            $.waitAndContinueSpecifications = waitAndContinueSpecifications;
            return this;
        }

        /**
         * @param waitAndContinueSpecifications Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
         * See the `wait_and_continue_specification` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder waitAndContinueSpecifications(List waitAndContinueSpecifications) {
            return waitAndContinueSpecifications(Output.of(waitAndContinueSpecifications));
        }

        /**
         * @param waitAndContinueSpecifications Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
         * See the `wait_and_continue_specification` argument reference below.
         * 
         * @return builder
         * 
         */
        public Builder waitAndContinueSpecifications(V2modelsSlotValueElicitationSettingWaitAndContinueSpecificationArgs... waitAndContinueSpecifications) {
            return waitAndContinueSpecifications(List.of(waitAndContinueSpecifications));
        }

        public V2modelsSlotValueElicitationSettingArgs build() {
            if ($.promptSpecification == null) {
                throw new MissingRequiredPropertyException("V2modelsSlotValueElicitationSettingArgs", "promptSpecification");
            }
            if ($.slotConstraint == null) {
                throw new MissingRequiredPropertyException("V2modelsSlotValueElicitationSettingArgs", "slotConstraint");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy