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

com.pulumi.azurenative.engagementfabric.ChannelArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show 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.azurenative.engagementfabric;

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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ChannelArgs Empty = new ChannelArgs();

    /**
     * Account Name
     * 
     */
    @Import(name="accountName", required=true)
    private Output accountName;

    /**
     * @return Account Name
     * 
     */
    public Output accountName() {
        return this.accountName;
    }

    /**
     * The functions to be enabled for the channel
     * 
     */
    @Import(name="channelFunctions")
    private @Nullable Output> channelFunctions;

    /**
     * @return The functions to be enabled for the channel
     * 
     */
    public Optional>> channelFunctions() {
        return Optional.ofNullable(this.channelFunctions);
    }

    /**
     * Channel Name
     * 
     */
    @Import(name="channelName")
    private @Nullable Output channelName;

    /**
     * @return Channel Name
     * 
     */
    public Optional> channelName() {
        return Optional.ofNullable(this.channelName);
    }

    /**
     * The channel type
     * 
     */
    @Import(name="channelType", required=true)
    private Output channelType;

    /**
     * @return The channel type
     * 
     */
    public Output channelType() {
        return this.channelType;
    }

    /**
     * The channel credentials
     * 
     */
    @Import(name="credentials")
    private @Nullable Output> credentials;

    /**
     * @return The channel credentials
     * 
     */
    public Optional>> credentials() {
        return Optional.ofNullable(this.credentials);
    }

    /**
     * Resource Group Name
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Resource Group Name
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    private ChannelArgs() {}

    private ChannelArgs(ChannelArgs $) {
        this.accountName = $.accountName;
        this.channelFunctions = $.channelFunctions;
        this.channelName = $.channelName;
        this.channelType = $.channelType;
        this.credentials = $.credentials;
        this.resourceGroupName = $.resourceGroupName;
    }

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

    public static final class Builder {
        private ChannelArgs $;

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

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

        /**
         * @param accountName Account Name
         * 
         * @return builder
         * 
         */
        public Builder accountName(Output accountName) {
            $.accountName = accountName;
            return this;
        }

        /**
         * @param accountName Account Name
         * 
         * @return builder
         * 
         */
        public Builder accountName(String accountName) {
            return accountName(Output.of(accountName));
        }

        /**
         * @param channelFunctions The functions to be enabled for the channel
         * 
         * @return builder
         * 
         */
        public Builder channelFunctions(@Nullable Output> channelFunctions) {
            $.channelFunctions = channelFunctions;
            return this;
        }

        /**
         * @param channelFunctions The functions to be enabled for the channel
         * 
         * @return builder
         * 
         */
        public Builder channelFunctions(List channelFunctions) {
            return channelFunctions(Output.of(channelFunctions));
        }

        /**
         * @param channelFunctions The functions to be enabled for the channel
         * 
         * @return builder
         * 
         */
        public Builder channelFunctions(String... channelFunctions) {
            return channelFunctions(List.of(channelFunctions));
        }

        /**
         * @param channelName Channel Name
         * 
         * @return builder
         * 
         */
        public Builder channelName(@Nullable Output channelName) {
            $.channelName = channelName;
            return this;
        }

        /**
         * @param channelName Channel Name
         * 
         * @return builder
         * 
         */
        public Builder channelName(String channelName) {
            return channelName(Output.of(channelName));
        }

        /**
         * @param channelType The channel type
         * 
         * @return builder
         * 
         */
        public Builder channelType(Output channelType) {
            $.channelType = channelType;
            return this;
        }

        /**
         * @param channelType The channel type
         * 
         * @return builder
         * 
         */
        public Builder channelType(String channelType) {
            return channelType(Output.of(channelType));
        }

        /**
         * @param credentials The channel credentials
         * 
         * @return builder
         * 
         */
        public Builder credentials(@Nullable Output> credentials) {
            $.credentials = credentials;
            return this;
        }

        /**
         * @param credentials The channel credentials
         * 
         * @return builder
         * 
         */
        public Builder credentials(Map credentials) {
            return credentials(Output.of(credentials));
        }

        /**
         * @param resourceGroupName Resource Group Name
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Resource Group Name
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        public ChannelArgs build() {
            if ($.accountName == null) {
                throw new MissingRequiredPropertyException("ChannelArgs", "accountName");
            }
            if ($.channelType == null) {
                throw new MissingRequiredPropertyException("ChannelArgs", "channelType");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ChannelArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy