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

com.pulumi.aws.lex.outputs.V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponse 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.outputs;

import com.pulumi.aws.lex.outputs.V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponseMessageGroup;
import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.Integer;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponse {
    /**
     * @return Whether the user can interrupt the start message while it is playing.
     * 
     */
    private @Nullable Boolean allowInterrupt;
    /**
     * @return Delay between when the Lambda fulfillment function starts running and the start message is played. If the Lambda function returns before the delay is over, the start message isn't played.
     * 
     */
    private @Nullable Integer delayInSeconds;
    /**
     * @return Between 1-5 configuration block message groups that contain start messages. Amazon Lex chooses one of the messages to play to the user. See `message_group`.
     * 
     */
    private @Nullable List messageGroups;

    private V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponse() {}
    /**
     * @return Whether the user can interrupt the start message while it is playing.
     * 
     */
    public Optional allowInterrupt() {
        return Optional.ofNullable(this.allowInterrupt);
    }
    /**
     * @return Delay between when the Lambda fulfillment function starts running and the start message is played. If the Lambda function returns before the delay is over, the start message isn't played.
     * 
     */
    public Optional delayInSeconds() {
        return Optional.ofNullable(this.delayInSeconds);
    }
    /**
     * @return Between 1-5 configuration block message groups that contain start messages. Amazon Lex chooses one of the messages to play to the user. See `message_group`.
     * 
     */
    public List messageGroups() {
        return this.messageGroups == null ? List.of() : this.messageGroups;
    }

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

    public static Builder builder(V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Boolean allowInterrupt;
        private @Nullable Integer delayInSeconds;
        private @Nullable List messageGroups;
        public Builder() {}
        public Builder(V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.allowInterrupt = defaults.allowInterrupt;
    	      this.delayInSeconds = defaults.delayInSeconds;
    	      this.messageGroups = defaults.messageGroups;
        }

        @CustomType.Setter
        public Builder allowInterrupt(@Nullable Boolean allowInterrupt) {

            this.allowInterrupt = allowInterrupt;
            return this;
        }
        @CustomType.Setter
        public Builder delayInSeconds(@Nullable Integer delayInSeconds) {

            this.delayInSeconds = delayInSeconds;
            return this;
        }
        @CustomType.Setter
        public Builder messageGroups(@Nullable List messageGroups) {

            this.messageGroups = messageGroups;
            return this;
        }
        public Builder messageGroups(V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponseMessageGroup... messageGroups) {
            return messageGroups(List.of(messageGroups));
        }
        public V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponse build() {
            final var _resultValue = new V2modelsIntentFulfillmentCodeHookFulfillmentUpdatesSpecificationStartResponse();
            _resultValue.allowInterrupt = allowInterrupt;
            _resultValue.delayInSeconds = delayInSeconds;
            _resultValue.messageGroups = messageGroups;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy