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

com.pulumi.azurenative.botservice.inputs.WebChatSiteArgs 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.botservice.inputs;

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


/**
 * A site for the Webchat channel
 * 
 */
public final class WebChatSiteArgs extends com.pulumi.resources.ResourceArgs {

    public static final WebChatSiteArgs Empty = new WebChatSiteArgs();

    /**
     * DirectLine application id
     * 
     */
    @Import(name="appId")
    private @Nullable Output appId;

    /**
     * @return DirectLine application id
     * 
     */
    public Optional> appId() {
        return Optional.ofNullable(this.appId);
    }

    /**
     * Entity Tag
     * 
     */
    @Import(name="eTag")
    private @Nullable Output eTag;

    /**
     * @return Entity Tag
     * 
     */
    public Optional> eTag() {
        return Optional.ofNullable(this.eTag);
    }

    /**
     * Whether this site is enabled for block user upload.
     * 
     */
    @Import(name="isBlockUserUploadEnabled")
    private @Nullable Output isBlockUserUploadEnabled;

    /**
     * @return Whether this site is enabled for block user upload.
     * 
     */
    public Optional> isBlockUserUploadEnabled() {
        return Optional.ofNullable(this.isBlockUserUploadEnabled);
    }

    /**
     * Whether this site is disabled detailed logging for
     * 
     */
    @Import(name="isDetailedLoggingEnabled")
    private @Nullable Output isDetailedLoggingEnabled;

    /**
     * @return Whether this site is disabled detailed logging for
     * 
     */
    public Optional> isDetailedLoggingEnabled() {
        return Optional.ofNullable(this.isDetailedLoggingEnabled);
    }

    /**
     * Whether this site is enabled for DirectLine channel
     * 
     */
    @Import(name="isEnabled", required=true)
    private Output isEnabled;

    /**
     * @return Whether this site is enabled for DirectLine channel
     * 
     */
    public Output isEnabled() {
        return this.isEnabled;
    }

    /**
     * Whether this site is EndpointParameters enabled for channel
     * 
     */
    @Import(name="isEndpointParametersEnabled")
    private @Nullable Output isEndpointParametersEnabled;

    /**
     * @return Whether this site is EndpointParameters enabled for channel
     * 
     */
    public Optional> isEndpointParametersEnabled() {
        return Optional.ofNullable(this.isEndpointParametersEnabled);
    }

    /**
     * Whether this no-storage site is disabled detailed logging for
     * 
     */
    @Import(name="isNoStorageEnabled")
    private @Nullable Output isNoStorageEnabled;

    /**
     * @return Whether this no-storage site is disabled detailed logging for
     * 
     */
    public Optional> isNoStorageEnabled() {
        return Optional.ofNullable(this.isNoStorageEnabled);
    }

    /**
     * Whether this site is enabled for authentication with Bot Framework.
     * 
     */
    @Import(name="isSecureSiteEnabled")
    private @Nullable Output isSecureSiteEnabled;

    /**
     * @return Whether this site is enabled for authentication with Bot Framework.
     * 
     */
    public Optional> isSecureSiteEnabled() {
        return Optional.ofNullable(this.isSecureSiteEnabled);
    }

    /**
     * Whether this site is enabled for Bot Framework V1 protocol.
     * 
     */
    @Import(name="isV1Enabled")
    private @Nullable Output isV1Enabled;

    /**
     * @return Whether this site is enabled for Bot Framework V1 protocol.
     * 
     */
    public Optional> isV1Enabled() {
        return Optional.ofNullable(this.isV1Enabled);
    }

    /**
     * Whether this site is enabled for Bot Framework V3 protocol.
     * 
     */
    @Import(name="isV3Enabled")
    private @Nullable Output isV3Enabled;

    /**
     * @return Whether this site is enabled for Bot Framework V3 protocol.
     * 
     */
    public Optional> isV3Enabled() {
        return Optional.ofNullable(this.isV3Enabled);
    }

    /**
     * Whether this site is enabled for Webchat Speech
     * 
     */
    @Import(name="isWebChatSpeechEnabled")
    private @Nullable Output isWebChatSpeechEnabled;

    /**
     * @return Whether this site is enabled for Webchat Speech
     * 
     */
    public Optional> isWebChatSpeechEnabled() {
        return Optional.ofNullable(this.isWebChatSpeechEnabled);
    }

    /**
     * Whether this site is enabled for preview versions of Webchat
     * 
     */
    @Import(name="isWebchatPreviewEnabled", required=true)
    private Output isWebchatPreviewEnabled;

    /**
     * @return Whether this site is enabled for preview versions of Webchat
     * 
     */
    public Output isWebchatPreviewEnabled() {
        return this.isWebchatPreviewEnabled;
    }

    /**
     * Site name
     * 
     */
    @Import(name="siteName", required=true)
    private Output siteName;

    /**
     * @return Site name
     * 
     */
    public Output siteName() {
        return this.siteName;
    }

    /**
     * Tenant Id
     * 
     */
    @Import(name="tenantId")
    private @Nullable Output tenantId;

    /**
     * @return Tenant Id
     * 
     */
    public Optional> tenantId() {
        return Optional.ofNullable(this.tenantId);
    }

    /**
     * List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.
     * 
     */
    @Import(name="trustedOrigins")
    private @Nullable Output> trustedOrigins;

    /**
     * @return List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.
     * 
     */
    public Optional>> trustedOrigins() {
        return Optional.ofNullable(this.trustedOrigins);
    }

    private WebChatSiteArgs() {}

    private WebChatSiteArgs(WebChatSiteArgs $) {
        this.appId = $.appId;
        this.eTag = $.eTag;
        this.isBlockUserUploadEnabled = $.isBlockUserUploadEnabled;
        this.isDetailedLoggingEnabled = $.isDetailedLoggingEnabled;
        this.isEnabled = $.isEnabled;
        this.isEndpointParametersEnabled = $.isEndpointParametersEnabled;
        this.isNoStorageEnabled = $.isNoStorageEnabled;
        this.isSecureSiteEnabled = $.isSecureSiteEnabled;
        this.isV1Enabled = $.isV1Enabled;
        this.isV3Enabled = $.isV3Enabled;
        this.isWebChatSpeechEnabled = $.isWebChatSpeechEnabled;
        this.isWebchatPreviewEnabled = $.isWebchatPreviewEnabled;
        this.siteName = $.siteName;
        this.tenantId = $.tenantId;
        this.trustedOrigins = $.trustedOrigins;
    }

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

    public static final class Builder {
        private WebChatSiteArgs $;

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

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

        /**
         * @param appId DirectLine application id
         * 
         * @return builder
         * 
         */
        public Builder appId(@Nullable Output appId) {
            $.appId = appId;
            return this;
        }

        /**
         * @param appId DirectLine application id
         * 
         * @return builder
         * 
         */
        public Builder appId(String appId) {
            return appId(Output.of(appId));
        }

        /**
         * @param eTag Entity Tag
         * 
         * @return builder
         * 
         */
        public Builder eTag(@Nullable Output eTag) {
            $.eTag = eTag;
            return this;
        }

        /**
         * @param eTag Entity Tag
         * 
         * @return builder
         * 
         */
        public Builder eTag(String eTag) {
            return eTag(Output.of(eTag));
        }

        /**
         * @param isBlockUserUploadEnabled Whether this site is enabled for block user upload.
         * 
         * @return builder
         * 
         */
        public Builder isBlockUserUploadEnabled(@Nullable Output isBlockUserUploadEnabled) {
            $.isBlockUserUploadEnabled = isBlockUserUploadEnabled;
            return this;
        }

        /**
         * @param isBlockUserUploadEnabled Whether this site is enabled for block user upload.
         * 
         * @return builder
         * 
         */
        public Builder isBlockUserUploadEnabled(Boolean isBlockUserUploadEnabled) {
            return isBlockUserUploadEnabled(Output.of(isBlockUserUploadEnabled));
        }

        /**
         * @param isDetailedLoggingEnabled Whether this site is disabled detailed logging for
         * 
         * @return builder
         * 
         */
        public Builder isDetailedLoggingEnabled(@Nullable Output isDetailedLoggingEnabled) {
            $.isDetailedLoggingEnabled = isDetailedLoggingEnabled;
            return this;
        }

        /**
         * @param isDetailedLoggingEnabled Whether this site is disabled detailed logging for
         * 
         * @return builder
         * 
         */
        public Builder isDetailedLoggingEnabled(Boolean isDetailedLoggingEnabled) {
            return isDetailedLoggingEnabled(Output.of(isDetailedLoggingEnabled));
        }

        /**
         * @param isEnabled Whether this site is enabled for DirectLine channel
         * 
         * @return builder
         * 
         */
        public Builder isEnabled(Output isEnabled) {
            $.isEnabled = isEnabled;
            return this;
        }

        /**
         * @param isEnabled Whether this site is enabled for DirectLine channel
         * 
         * @return builder
         * 
         */
        public Builder isEnabled(Boolean isEnabled) {
            return isEnabled(Output.of(isEnabled));
        }

        /**
         * @param isEndpointParametersEnabled Whether this site is EndpointParameters enabled for channel
         * 
         * @return builder
         * 
         */
        public Builder isEndpointParametersEnabled(@Nullable Output isEndpointParametersEnabled) {
            $.isEndpointParametersEnabled = isEndpointParametersEnabled;
            return this;
        }

        /**
         * @param isEndpointParametersEnabled Whether this site is EndpointParameters enabled for channel
         * 
         * @return builder
         * 
         */
        public Builder isEndpointParametersEnabled(Boolean isEndpointParametersEnabled) {
            return isEndpointParametersEnabled(Output.of(isEndpointParametersEnabled));
        }

        /**
         * @param isNoStorageEnabled Whether this no-storage site is disabled detailed logging for
         * 
         * @return builder
         * 
         */
        public Builder isNoStorageEnabled(@Nullable Output isNoStorageEnabled) {
            $.isNoStorageEnabled = isNoStorageEnabled;
            return this;
        }

        /**
         * @param isNoStorageEnabled Whether this no-storage site is disabled detailed logging for
         * 
         * @return builder
         * 
         */
        public Builder isNoStorageEnabled(Boolean isNoStorageEnabled) {
            return isNoStorageEnabled(Output.of(isNoStorageEnabled));
        }

        /**
         * @param isSecureSiteEnabled Whether this site is enabled for authentication with Bot Framework.
         * 
         * @return builder
         * 
         */
        public Builder isSecureSiteEnabled(@Nullable Output isSecureSiteEnabled) {
            $.isSecureSiteEnabled = isSecureSiteEnabled;
            return this;
        }

        /**
         * @param isSecureSiteEnabled Whether this site is enabled for authentication with Bot Framework.
         * 
         * @return builder
         * 
         */
        public Builder isSecureSiteEnabled(Boolean isSecureSiteEnabled) {
            return isSecureSiteEnabled(Output.of(isSecureSiteEnabled));
        }

        /**
         * @param isV1Enabled Whether this site is enabled for Bot Framework V1 protocol.
         * 
         * @return builder
         * 
         */
        public Builder isV1Enabled(@Nullable Output isV1Enabled) {
            $.isV1Enabled = isV1Enabled;
            return this;
        }

        /**
         * @param isV1Enabled Whether this site is enabled for Bot Framework V1 protocol.
         * 
         * @return builder
         * 
         */
        public Builder isV1Enabled(Boolean isV1Enabled) {
            return isV1Enabled(Output.of(isV1Enabled));
        }

        /**
         * @param isV3Enabled Whether this site is enabled for Bot Framework V3 protocol.
         * 
         * @return builder
         * 
         */
        public Builder isV3Enabled(@Nullable Output isV3Enabled) {
            $.isV3Enabled = isV3Enabled;
            return this;
        }

        /**
         * @param isV3Enabled Whether this site is enabled for Bot Framework V3 protocol.
         * 
         * @return builder
         * 
         */
        public Builder isV3Enabled(Boolean isV3Enabled) {
            return isV3Enabled(Output.of(isV3Enabled));
        }

        /**
         * @param isWebChatSpeechEnabled Whether this site is enabled for Webchat Speech
         * 
         * @return builder
         * 
         */
        public Builder isWebChatSpeechEnabled(@Nullable Output isWebChatSpeechEnabled) {
            $.isWebChatSpeechEnabled = isWebChatSpeechEnabled;
            return this;
        }

        /**
         * @param isWebChatSpeechEnabled Whether this site is enabled for Webchat Speech
         * 
         * @return builder
         * 
         */
        public Builder isWebChatSpeechEnabled(Boolean isWebChatSpeechEnabled) {
            return isWebChatSpeechEnabled(Output.of(isWebChatSpeechEnabled));
        }

        /**
         * @param isWebchatPreviewEnabled Whether this site is enabled for preview versions of Webchat
         * 
         * @return builder
         * 
         */
        public Builder isWebchatPreviewEnabled(Output isWebchatPreviewEnabled) {
            $.isWebchatPreviewEnabled = isWebchatPreviewEnabled;
            return this;
        }

        /**
         * @param isWebchatPreviewEnabled Whether this site is enabled for preview versions of Webchat
         * 
         * @return builder
         * 
         */
        public Builder isWebchatPreviewEnabled(Boolean isWebchatPreviewEnabled) {
            return isWebchatPreviewEnabled(Output.of(isWebchatPreviewEnabled));
        }

        /**
         * @param siteName Site name
         * 
         * @return builder
         * 
         */
        public Builder siteName(Output siteName) {
            $.siteName = siteName;
            return this;
        }

        /**
         * @param siteName Site name
         * 
         * @return builder
         * 
         */
        public Builder siteName(String siteName) {
            return siteName(Output.of(siteName));
        }

        /**
         * @param tenantId Tenant Id
         * 
         * @return builder
         * 
         */
        public Builder tenantId(@Nullable Output tenantId) {
            $.tenantId = tenantId;
            return this;
        }

        /**
         * @param tenantId Tenant Id
         * 
         * @return builder
         * 
         */
        public Builder tenantId(String tenantId) {
            return tenantId(Output.of(tenantId));
        }

        /**
         * @param trustedOrigins List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.
         * 
         * @return builder
         * 
         */
        public Builder trustedOrigins(@Nullable Output> trustedOrigins) {
            $.trustedOrigins = trustedOrigins;
            return this;
        }

        /**
         * @param trustedOrigins List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.
         * 
         * @return builder
         * 
         */
        public Builder trustedOrigins(List trustedOrigins) {
            return trustedOrigins(Output.of(trustedOrigins));
        }

        /**
         * @param trustedOrigins List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.
         * 
         * @return builder
         * 
         */
        public Builder trustedOrigins(String... trustedOrigins) {
            return trustedOrigins(List.of(trustedOrigins));
        }

        public WebChatSiteArgs build() {
            if ($.isEnabled == null) {
                throw new MissingRequiredPropertyException("WebChatSiteArgs", "isEnabled");
            }
            $.isWebChatSpeechEnabled = Codegen.booleanProp("isWebChatSpeechEnabled").output().arg($.isWebChatSpeechEnabled).def(false).getNullable();
            $.isWebchatPreviewEnabled = Codegen.booleanProp("isWebchatPreviewEnabled").output().arg($.isWebchatPreviewEnabled).def(false).require();
            if ($.siteName == null) {
                throw new MissingRequiredPropertyException("WebChatSiteArgs", "siteName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy