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

com.pulumi.aws.lex.inputs.BotAliasConversationLogsArgs 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.BotAliasConversationLogsLogSettingArgs;
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 BotAliasConversationLogsArgs extends com.pulumi.resources.ResourceArgs {

    public static final BotAliasConversationLogsArgs Empty = new BotAliasConversationLogsArgs();

    /**
     * The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. Must be between 20 and 2048 characters in length.
     * 
     */
    @Import(name="iamRoleArn", required=true)
    private Output iamRoleArn;

    /**
     * @return The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. Must be between 20 and 2048 characters in length.
     * 
     */
    public Output iamRoleArn() {
        return this.iamRoleArn;
    }

    /**
     * The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings.
     * 
     */
    @Import(name="logSettings")
    private @Nullable Output> logSettings;

    /**
     * @return The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings.
     * 
     */
    public Optional>> logSettings() {
        return Optional.ofNullable(this.logSettings);
    }

    private BotAliasConversationLogsArgs() {}

    private BotAliasConversationLogsArgs(BotAliasConversationLogsArgs $) {
        this.iamRoleArn = $.iamRoleArn;
        this.logSettings = $.logSettings;
    }

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

    public static final class Builder {
        private BotAliasConversationLogsArgs $;

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

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

        /**
         * @param iamRoleArn The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. Must be between 20 and 2048 characters in length.
         * 
         * @return builder
         * 
         */
        public Builder iamRoleArn(Output iamRoleArn) {
            $.iamRoleArn = iamRoleArn;
            return this;
        }

        /**
         * @param iamRoleArn The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. Must be between 20 and 2048 characters in length.
         * 
         * @return builder
         * 
         */
        public Builder iamRoleArn(String iamRoleArn) {
            return iamRoleArn(Output.of(iamRoleArn));
        }

        /**
         * @param logSettings The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings.
         * 
         * @return builder
         * 
         */
        public Builder logSettings(@Nullable Output> logSettings) {
            $.logSettings = logSettings;
            return this;
        }

        /**
         * @param logSettings The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings.
         * 
         * @return builder
         * 
         */
        public Builder logSettings(List logSettings) {
            return logSettings(Output.of(logSettings));
        }

        /**
         * @param logSettings The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings.
         * 
         * @return builder
         * 
         */
        public Builder logSettings(BotAliasConversationLogsLogSettingArgs... logSettings) {
            return logSettings(List.of(logSettings));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy