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

com.pulumi.slack.inputs.ConversationState Maven / Gradle / Ivy

The newest version!
// *** 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.slack.inputs;

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


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

    public static final ConversationState Empty = new ConversationState();

    /**
     * indicates whether the
     * conversation should be archived or left behind on destroy. Valid values are
     * `archive | none`. Note that when set to `none` the conversation will be left
     * as it is  and as a result any subsequent runs of pulumi up with the same
     * name  will fail.
     * 
     */
    @Import(name="actionOnDestroy")
    private @Nullable Output actionOnDestroy;

    /**
     * @return indicates whether the
     * conversation should be archived or left behind on destroy. Valid values are
     * `archive | none`. Note that when set to `none` the conversation will be left
     * as it is  and as a result any subsequent runs of pulumi up with the same
     * name  will fail.
     * 
     */
    public Optional> actionOnDestroy() {
        return Optional.ofNullable(this.actionOnDestroy);
    }

    /**
     * indicate
     * whether the members should be kick of the channel when removed from
     * `permanent_members`. When set to `none` the user are never kicked, this prevent
     * a side effect on public channels where user that joined the channel are kicked.
     * 
     */
    @Import(name="actionOnUpdatePermanentMembers")
    private @Nullable Output actionOnUpdatePermanentMembers;

    /**
     * @return indicate
     * whether the members should be kick of the channel when removed from
     * `permanent_members`. When set to `none` the user are never kicked, this prevent
     * a side effect on public channels where user that joined the channel are kicked.
     * 
     */
    public Optional> actionOnUpdatePermanentMembers() {
        return Optional.ofNullable(this.actionOnUpdatePermanentMembers);
    }

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

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

    /**
     * is a unix timestamp.
     * 
     */
    @Import(name="created")
    private @Nullable Output created;

    /**
     * @return is a unix timestamp.
     * 
     */
    public Optional> created() {
        return Optional.ofNullable(this.created);
    }

    /**
     * is the user ID of the member that created this channel.
     * 
     */
    @Import(name="creator")
    private @Nullable Output creator;

    /**
     * @return is the user ID of the member that created this channel.
     * 
     */
    public Optional> creator() {
        return Optional.ofNullable(this.creator);
    }

    /**
     * indicates a conversation is archived. Frozen in time.
     * 
     */
    @Import(name="isArchived")
    private @Nullable Output isArchived;

    /**
     * @return indicates a conversation is archived. Frozen in time.
     * 
     */
    public Optional> isArchived() {
        return Optional.ofNullable(this.isArchived);
    }

    /**
     * represents this conversation as being part of a Shared Channel
     * with a remote organization.
     * 
     */
    @Import(name="isExtShared")
    private @Nullable Output isExtShared;

    /**
     * @return represents this conversation as being part of a Shared Channel
     * with a remote organization.
     * 
     */
    public Optional> isExtShared() {
        return Optional.ofNullable(this.isExtShared);
    }

    /**
     * will be true if this channel is the "general" channel that includes
     * all regular team members.
     * 
     */
    @Import(name="isGeneral")
    private @Nullable Output isGeneral;

    /**
     * @return will be true if this channel is the "general" channel that includes
     * all regular team members.
     * 
     */
    public Optional> isGeneral() {
        return Optional.ofNullable(this.isGeneral);
    }

    /**
     * explains whether this shared channel is shared between Enterprise
     * Grid workspaces within the same organization.
     * 
     */
    @Import(name="isOrgShared")
    private @Nullable Output isOrgShared;

    /**
     * @return explains whether this shared channel is shared between Enterprise
     * Grid workspaces within the same organization.
     * 
     */
    public Optional> isOrgShared() {
        return Optional.ofNullable(this.isOrgShared);
    }

    /**
     * create a private channel instead of a public one.
     * 
     */
    @Import(name="isPrivate")
    private @Nullable Output isPrivate;

    /**
     * @return create a private channel instead of a public one.
     * 
     */
    public Optional> isPrivate() {
        return Optional.ofNullable(this.isPrivate);
    }

    /**
     * means the conversation is in some way shared between multiple workspaces.
     * 
     */
    @Import(name="isShared")
    private @Nullable Output isShared;

    /**
     * @return means the conversation is in some way shared between multiple workspaces.
     * 
     */
    public Optional> isShared() {
        return Optional.ofNullable(this.isShared);
    }

    /**
     * name of the public or private channel.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return name of the public or private channel.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * user IDs to add to the channel.
     * 
     */
    @Import(name="permanentMembers")
    private @Nullable Output> permanentMembers;

    /**
     * @return user IDs to add to the channel.
     * 
     */
    public Optional>> permanentMembers() {
        return Optional.ofNullable(this.permanentMembers);
    }

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

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

    /**
     * topic for the channel.
     * 
     */
    @Import(name="topic")
    private @Nullable Output topic;

    /**
     * @return topic for the channel.
     * 
     */
    public Optional> topic() {
        return Optional.ofNullable(this.topic);
    }

    private ConversationState() {}

    private ConversationState(ConversationState $) {
        this.actionOnDestroy = $.actionOnDestroy;
        this.actionOnUpdatePermanentMembers = $.actionOnUpdatePermanentMembers;
        this.adoptExistingChannel = $.adoptExistingChannel;
        this.created = $.created;
        this.creator = $.creator;
        this.isArchived = $.isArchived;
        this.isExtShared = $.isExtShared;
        this.isGeneral = $.isGeneral;
        this.isOrgShared = $.isOrgShared;
        this.isPrivate = $.isPrivate;
        this.isShared = $.isShared;
        this.name = $.name;
        this.permanentMembers = $.permanentMembers;
        this.purpose = $.purpose;
        this.topic = $.topic;
    }

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

    public static final class Builder {
        private ConversationState $;

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

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

        /**
         * @param actionOnDestroy indicates whether the
         * conversation should be archived or left behind on destroy. Valid values are
         * `archive | none`. Note that when set to `none` the conversation will be left
         * as it is  and as a result any subsequent runs of pulumi up with the same
         * name  will fail.
         * 
         * @return builder
         * 
         */
        public Builder actionOnDestroy(@Nullable Output actionOnDestroy) {
            $.actionOnDestroy = actionOnDestroy;
            return this;
        }

        /**
         * @param actionOnDestroy indicates whether the
         * conversation should be archived or left behind on destroy. Valid values are
         * `archive | none`. Note that when set to `none` the conversation will be left
         * as it is  and as a result any subsequent runs of pulumi up with the same
         * name  will fail.
         * 
         * @return builder
         * 
         */
        public Builder actionOnDestroy(String actionOnDestroy) {
            return actionOnDestroy(Output.of(actionOnDestroy));
        }

        /**
         * @param actionOnUpdatePermanentMembers indicate
         * whether the members should be kick of the channel when removed from
         * `permanent_members`. When set to `none` the user are never kicked, this prevent
         * a side effect on public channels where user that joined the channel are kicked.
         * 
         * @return builder
         * 
         */
        public Builder actionOnUpdatePermanentMembers(@Nullable Output actionOnUpdatePermanentMembers) {
            $.actionOnUpdatePermanentMembers = actionOnUpdatePermanentMembers;
            return this;
        }

        /**
         * @param actionOnUpdatePermanentMembers indicate
         * whether the members should be kick of the channel when removed from
         * `permanent_members`. When set to `none` the user are never kicked, this prevent
         * a side effect on public channels where user that joined the channel are kicked.
         * 
         * @return builder
         * 
         */
        public Builder actionOnUpdatePermanentMembers(String actionOnUpdatePermanentMembers) {
            return actionOnUpdatePermanentMembers(Output.of(actionOnUpdatePermanentMembers));
        }

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

        public Builder adoptExistingChannel(Boolean adoptExistingChannel) {
            return adoptExistingChannel(Output.of(adoptExistingChannel));
        }

        /**
         * @param created is a unix timestamp.
         * 
         * @return builder
         * 
         */
        public Builder created(@Nullable Output created) {
            $.created = created;
            return this;
        }

        /**
         * @param created is a unix timestamp.
         * 
         * @return builder
         * 
         */
        public Builder created(Integer created) {
            return created(Output.of(created));
        }

        /**
         * @param creator is the user ID of the member that created this channel.
         * 
         * @return builder
         * 
         */
        public Builder creator(@Nullable Output creator) {
            $.creator = creator;
            return this;
        }

        /**
         * @param creator is the user ID of the member that created this channel.
         * 
         * @return builder
         * 
         */
        public Builder creator(String creator) {
            return creator(Output.of(creator));
        }

        /**
         * @param isArchived indicates a conversation is archived. Frozen in time.
         * 
         * @return builder
         * 
         */
        public Builder isArchived(@Nullable Output isArchived) {
            $.isArchived = isArchived;
            return this;
        }

        /**
         * @param isArchived indicates a conversation is archived. Frozen in time.
         * 
         * @return builder
         * 
         */
        public Builder isArchived(Boolean isArchived) {
            return isArchived(Output.of(isArchived));
        }

        /**
         * @param isExtShared represents this conversation as being part of a Shared Channel
         * with a remote organization.
         * 
         * @return builder
         * 
         */
        public Builder isExtShared(@Nullable Output isExtShared) {
            $.isExtShared = isExtShared;
            return this;
        }

        /**
         * @param isExtShared represents this conversation as being part of a Shared Channel
         * with a remote organization.
         * 
         * @return builder
         * 
         */
        public Builder isExtShared(Boolean isExtShared) {
            return isExtShared(Output.of(isExtShared));
        }

        /**
         * @param isGeneral will be true if this channel is the "general" channel that includes
         * all regular team members.
         * 
         * @return builder
         * 
         */
        public Builder isGeneral(@Nullable Output isGeneral) {
            $.isGeneral = isGeneral;
            return this;
        }

        /**
         * @param isGeneral will be true if this channel is the "general" channel that includes
         * all regular team members.
         * 
         * @return builder
         * 
         */
        public Builder isGeneral(Boolean isGeneral) {
            return isGeneral(Output.of(isGeneral));
        }

        /**
         * @param isOrgShared explains whether this shared channel is shared between Enterprise
         * Grid workspaces within the same organization.
         * 
         * @return builder
         * 
         */
        public Builder isOrgShared(@Nullable Output isOrgShared) {
            $.isOrgShared = isOrgShared;
            return this;
        }

        /**
         * @param isOrgShared explains whether this shared channel is shared between Enterprise
         * Grid workspaces within the same organization.
         * 
         * @return builder
         * 
         */
        public Builder isOrgShared(Boolean isOrgShared) {
            return isOrgShared(Output.of(isOrgShared));
        }

        /**
         * @param isPrivate create a private channel instead of a public one.
         * 
         * @return builder
         * 
         */
        public Builder isPrivate(@Nullable Output isPrivate) {
            $.isPrivate = isPrivate;
            return this;
        }

        /**
         * @param isPrivate create a private channel instead of a public one.
         * 
         * @return builder
         * 
         */
        public Builder isPrivate(Boolean isPrivate) {
            return isPrivate(Output.of(isPrivate));
        }

        /**
         * @param isShared means the conversation is in some way shared between multiple workspaces.
         * 
         * @return builder
         * 
         */
        public Builder isShared(@Nullable Output isShared) {
            $.isShared = isShared;
            return this;
        }

        /**
         * @param isShared means the conversation is in some way shared between multiple workspaces.
         * 
         * @return builder
         * 
         */
        public Builder isShared(Boolean isShared) {
            return isShared(Output.of(isShared));
        }

        /**
         * @param name name of the public or private channel.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name name of the public or private channel.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param permanentMembers user IDs to add to the channel.
         * 
         * @return builder
         * 
         */
        public Builder permanentMembers(@Nullable Output> permanentMembers) {
            $.permanentMembers = permanentMembers;
            return this;
        }

        /**
         * @param permanentMembers user IDs to add to the channel.
         * 
         * @return builder
         * 
         */
        public Builder permanentMembers(List permanentMembers) {
            return permanentMembers(Output.of(permanentMembers));
        }

        /**
         * @param permanentMembers user IDs to add to the channel.
         * 
         * @return builder
         * 
         */
        public Builder permanentMembers(String... permanentMembers) {
            return permanentMembers(List.of(permanentMembers));
        }

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

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

        /**
         * @param topic topic for the channel.
         * 
         * @return builder
         * 
         */
        public Builder topic(@Nullable Output topic) {
            $.topic = topic;
            return this;
        }

        /**
         * @param topic topic for the channel.
         * 
         * @return builder
         * 
         */
        public Builder topic(String topic) {
            return topic(Output.of(topic));
        }

        public ConversationState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy