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

com.pulumi.aws.chatbot.inputs.SlackChannelConfigurationState 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.chatbot.inputs;

import com.pulumi.aws.chatbot.inputs.SlackChannelConfigurationTimeoutsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
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 SlackChannelConfigurationState extends com.pulumi.resources.ResourceArgs {

    public static final SlackChannelConfigurationState Empty = new SlackChannelConfigurationState();

    /**
     * ARN of the Slack channel configuration.
     * 
     */
    @Import(name="chatConfigurationArn")
    private @Nullable Output chatConfigurationArn;

    /**
     * @return ARN of the Slack channel configuration.
     * 
     */
    public Optional> chatConfigurationArn() {
        return Optional.ofNullable(this.chatConfigurationArn);
    }

    /**
     * Name of the Slack channel configuration.
     * 
     */
    @Import(name="configurationName")
    private @Nullable Output configurationName;

    /**
     * @return Name of the Slack channel configuration.
     * 
     */
    public Optional> configurationName() {
        return Optional.ofNullable(this.configurationName);
    }

    /**
     * List of IAM policy ARNs that are applied as channel guardrails. The AWS managed `AdministratorAccess` policy is applied by default if this is not set.
     * 
     */
    @Import(name="guardrailPolicyArns")
    private @Nullable Output> guardrailPolicyArns;

    /**
     * @return List of IAM policy ARNs that are applied as channel guardrails. The AWS managed `AdministratorAccess` policy is applied by default if this is not set.
     * 
     */
    public Optional>> guardrailPolicyArns() {
        return Optional.ofNullable(this.guardrailPolicyArns);
    }

    /**
     * User-defined role that AWS Chatbot assumes. This is not the service-linked role.
     * 
     */
    @Import(name="iamRoleArn")
    private @Nullable Output iamRoleArn;

    /**
     * @return User-defined role that AWS Chatbot assumes. This is not the service-linked role.
     * 
     */
    public Optional> iamRoleArn() {
        return Optional.ofNullable(this.iamRoleArn);
    }

    /**
     * Logging levels include `ERROR`, `INFO`, or `NONE`.
     * 
     */
    @Import(name="loggingLevel")
    private @Nullable Output loggingLevel;

    /**
     * @return Logging levels include `ERROR`, `INFO`, or `NONE`.
     * 
     */
    public Optional> loggingLevel() {
        return Optional.ofNullable(this.loggingLevel);
    }

    /**
     * ID of the Slack channel. For example, `C07EZ1ABC23`.
     * 
     */
    @Import(name="slackChannelId")
    private @Nullable Output slackChannelId;

    /**
     * @return ID of the Slack channel. For example, `C07EZ1ABC23`.
     * 
     */
    public Optional> slackChannelId() {
        return Optional.ofNullable(this.slackChannelId);
    }

    /**
     * Name of the Slack channel.
     * 
     */
    @Import(name="slackChannelName")
    private @Nullable Output slackChannelName;

    /**
     * @return Name of the Slack channel.
     * 
     */
    public Optional> slackChannelName() {
        return Optional.ofNullable(this.slackChannelName);
    }

    /**
     * ID of the Slack workspace authorized with AWS Chatbot. For example, `T07EA123LEP`.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="slackTeamId")
    private @Nullable Output slackTeamId;

    /**
     * @return ID of the Slack workspace authorized with AWS Chatbot. For example, `T07EA123LEP`.
     * 
     * The following arguments are optional:
     * 
     */
    public Optional> slackTeamId() {
        return Optional.ofNullable(this.slackTeamId);
    }

    /**
     * Name of the Slack team.
     * 
     */
    @Import(name="slackTeamName")
    private @Nullable Output slackTeamName;

    /**
     * @return Name of the Slack team.
     * 
     */
    public Optional> slackTeamName() {
        return Optional.ofNullable(this.slackTeamName);
    }

    /**
     * ARNs of the SNS topics that deliver notifications to AWS Chatbot.
     * 
     */
    @Import(name="snsTopicArns")
    private @Nullable Output> snsTopicArns;

    /**
     * @return ARNs of the SNS topics that deliver notifications to AWS Chatbot.
     * 
     */
    public Optional>> snsTopicArns() {
        return Optional.ofNullable(this.snsTopicArns);
    }

    /**
     * Map of tags assigned to the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Map of tags assigned to the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    @Import(name="timeouts")
    private @Nullable Output timeouts;

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

    /**
     * Enables use of a user role requirement in your chat configuration.
     * 
     */
    @Import(name="userAuthorizationRequired")
    private @Nullable Output userAuthorizationRequired;

    /**
     * @return Enables use of a user role requirement in your chat configuration.
     * 
     */
    public Optional> userAuthorizationRequired() {
        return Optional.ofNullable(this.userAuthorizationRequired);
    }

    private SlackChannelConfigurationState() {}

    private SlackChannelConfigurationState(SlackChannelConfigurationState $) {
        this.chatConfigurationArn = $.chatConfigurationArn;
        this.configurationName = $.configurationName;
        this.guardrailPolicyArns = $.guardrailPolicyArns;
        this.iamRoleArn = $.iamRoleArn;
        this.loggingLevel = $.loggingLevel;
        this.slackChannelId = $.slackChannelId;
        this.slackChannelName = $.slackChannelName;
        this.slackTeamId = $.slackTeamId;
        this.slackTeamName = $.slackTeamName;
        this.snsTopicArns = $.snsTopicArns;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.timeouts = $.timeouts;
        this.userAuthorizationRequired = $.userAuthorizationRequired;
    }

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

    public static final class Builder {
        private SlackChannelConfigurationState $;

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

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

        /**
         * @param chatConfigurationArn ARN of the Slack channel configuration.
         * 
         * @return builder
         * 
         */
        public Builder chatConfigurationArn(@Nullable Output chatConfigurationArn) {
            $.chatConfigurationArn = chatConfigurationArn;
            return this;
        }

        /**
         * @param chatConfigurationArn ARN of the Slack channel configuration.
         * 
         * @return builder
         * 
         */
        public Builder chatConfigurationArn(String chatConfigurationArn) {
            return chatConfigurationArn(Output.of(chatConfigurationArn));
        }

        /**
         * @param configurationName Name of the Slack channel configuration.
         * 
         * @return builder
         * 
         */
        public Builder configurationName(@Nullable Output configurationName) {
            $.configurationName = configurationName;
            return this;
        }

        /**
         * @param configurationName Name of the Slack channel configuration.
         * 
         * @return builder
         * 
         */
        public Builder configurationName(String configurationName) {
            return configurationName(Output.of(configurationName));
        }

        /**
         * @param guardrailPolicyArns List of IAM policy ARNs that are applied as channel guardrails. The AWS managed `AdministratorAccess` policy is applied by default if this is not set.
         * 
         * @return builder
         * 
         */
        public Builder guardrailPolicyArns(@Nullable Output> guardrailPolicyArns) {
            $.guardrailPolicyArns = guardrailPolicyArns;
            return this;
        }

        /**
         * @param guardrailPolicyArns List of IAM policy ARNs that are applied as channel guardrails. The AWS managed `AdministratorAccess` policy is applied by default if this is not set.
         * 
         * @return builder
         * 
         */
        public Builder guardrailPolicyArns(List guardrailPolicyArns) {
            return guardrailPolicyArns(Output.of(guardrailPolicyArns));
        }

        /**
         * @param guardrailPolicyArns List of IAM policy ARNs that are applied as channel guardrails. The AWS managed `AdministratorAccess` policy is applied by default if this is not set.
         * 
         * @return builder
         * 
         */
        public Builder guardrailPolicyArns(String... guardrailPolicyArns) {
            return guardrailPolicyArns(List.of(guardrailPolicyArns));
        }

        /**
         * @param iamRoleArn User-defined role that AWS Chatbot assumes. This is not the service-linked role.
         * 
         * @return builder
         * 
         */
        public Builder iamRoleArn(@Nullable Output iamRoleArn) {
            $.iamRoleArn = iamRoleArn;
            return this;
        }

        /**
         * @param iamRoleArn User-defined role that AWS Chatbot assumes. This is not the service-linked role.
         * 
         * @return builder
         * 
         */
        public Builder iamRoleArn(String iamRoleArn) {
            return iamRoleArn(Output.of(iamRoleArn));
        }

        /**
         * @param loggingLevel Logging levels include `ERROR`, `INFO`, or `NONE`.
         * 
         * @return builder
         * 
         */
        public Builder loggingLevel(@Nullable Output loggingLevel) {
            $.loggingLevel = loggingLevel;
            return this;
        }

        /**
         * @param loggingLevel Logging levels include `ERROR`, `INFO`, or `NONE`.
         * 
         * @return builder
         * 
         */
        public Builder loggingLevel(String loggingLevel) {
            return loggingLevel(Output.of(loggingLevel));
        }

        /**
         * @param slackChannelId ID of the Slack channel. For example, `C07EZ1ABC23`.
         * 
         * @return builder
         * 
         */
        public Builder slackChannelId(@Nullable Output slackChannelId) {
            $.slackChannelId = slackChannelId;
            return this;
        }

        /**
         * @param slackChannelId ID of the Slack channel. For example, `C07EZ1ABC23`.
         * 
         * @return builder
         * 
         */
        public Builder slackChannelId(String slackChannelId) {
            return slackChannelId(Output.of(slackChannelId));
        }

        /**
         * @param slackChannelName Name of the Slack channel.
         * 
         * @return builder
         * 
         */
        public Builder slackChannelName(@Nullable Output slackChannelName) {
            $.slackChannelName = slackChannelName;
            return this;
        }

        /**
         * @param slackChannelName Name of the Slack channel.
         * 
         * @return builder
         * 
         */
        public Builder slackChannelName(String slackChannelName) {
            return slackChannelName(Output.of(slackChannelName));
        }

        /**
         * @param slackTeamId ID of the Slack workspace authorized with AWS Chatbot. For example, `T07EA123LEP`.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder slackTeamId(@Nullable Output slackTeamId) {
            $.slackTeamId = slackTeamId;
            return this;
        }

        /**
         * @param slackTeamId ID of the Slack workspace authorized with AWS Chatbot. For example, `T07EA123LEP`.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder slackTeamId(String slackTeamId) {
            return slackTeamId(Output.of(slackTeamId));
        }

        /**
         * @param slackTeamName Name of the Slack team.
         * 
         * @return builder
         * 
         */
        public Builder slackTeamName(@Nullable Output slackTeamName) {
            $.slackTeamName = slackTeamName;
            return this;
        }

        /**
         * @param slackTeamName Name of the Slack team.
         * 
         * @return builder
         * 
         */
        public Builder slackTeamName(String slackTeamName) {
            return slackTeamName(Output.of(slackTeamName));
        }

        /**
         * @param snsTopicArns ARNs of the SNS topics that deliver notifications to AWS Chatbot.
         * 
         * @return builder
         * 
         */
        public Builder snsTopicArns(@Nullable Output> snsTopicArns) {
            $.snsTopicArns = snsTopicArns;
            return this;
        }

        /**
         * @param snsTopicArns ARNs of the SNS topics that deliver notifications to AWS Chatbot.
         * 
         * @return builder
         * 
         */
        public Builder snsTopicArns(List snsTopicArns) {
            return snsTopicArns(Output.of(snsTopicArns));
        }

        /**
         * @param snsTopicArns ARNs of the SNS topics that deliver notifications to AWS Chatbot.
         * 
         * @return builder
         * 
         */
        public Builder snsTopicArns(String... snsTopicArns) {
            return snsTopicArns(List.of(snsTopicArns));
        }

        /**
         * @param tags Map of tags assigned to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Map of tags assigned to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

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

        public Builder timeouts(SlackChannelConfigurationTimeoutsArgs timeouts) {
            return timeouts(Output.of(timeouts));
        }

        /**
         * @param userAuthorizationRequired Enables use of a user role requirement in your chat configuration.
         * 
         * @return builder
         * 
         */
        public Builder userAuthorizationRequired(@Nullable Output userAuthorizationRequired) {
            $.userAuthorizationRequired = userAuthorizationRequired;
            return this;
        }

        /**
         * @param userAuthorizationRequired Enables use of a user role requirement in your chat configuration.
         * 
         * @return builder
         * 
         */
        public Builder userAuthorizationRequired(Boolean userAuthorizationRequired) {
            return userAuthorizationRequired(Output.of(userAuthorizationRequired));
        }

        public SlackChannelConfigurationState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy