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

com.pulumi.azurenative.botservice.inputs.BotPropertiesArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.azurenative.botservice.enums.MsaAppType;
import com.pulumi.azurenative.botservice.enums.PublicNetworkAccess;
import com.pulumi.core.Either;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The parameters to provide for the Bot.
 * 
 */
public final class BotPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final BotPropertiesArgs Empty = new BotPropertiesArgs();

    /**
     * Contains resource all settings defined as key/value pairs.
     * 
     */
    @Import(name="allSettings")
    private @Nullable Output> allSettings;

    /**
     * @return Contains resource all settings defined as key/value pairs.
     * 
     */
    public Optional>> allSettings() {
        return Optional.ofNullable(this.allSettings);
    }

    /**
     * The hint (e.g. keyVault secret resourceId) on how to fetch the app secret
     * 
     */
    @Import(name="appPasswordHint")
    private @Nullable Output appPasswordHint;

    /**
     * @return The hint (e.g. keyVault secret resourceId) on how to fetch the app secret
     * 
     */
    public Optional> appPasswordHint() {
        return Optional.ofNullable(this.appPasswordHint);
    }

    /**
     * The CMK Url
     * 
     */
    @Import(name="cmekKeyVaultUrl")
    private @Nullable Output cmekKeyVaultUrl;

    /**
     * @return The CMK Url
     * 
     */
    public Optional> cmekKeyVaultUrl() {
        return Optional.ofNullable(this.cmekKeyVaultUrl);
    }

    /**
     * The description of the bot
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the bot
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The Application Insights key
     * 
     */
    @Import(name="developerAppInsightKey")
    private @Nullable Output developerAppInsightKey;

    /**
     * @return The Application Insights key
     * 
     */
    public Optional> developerAppInsightKey() {
        return Optional.ofNullable(this.developerAppInsightKey);
    }

    /**
     * The Application Insights Api Key
     * 
     */
    @Import(name="developerAppInsightsApiKey")
    private @Nullable Output developerAppInsightsApiKey;

    /**
     * @return The Application Insights Api Key
     * 
     */
    public Optional> developerAppInsightsApiKey() {
        return Optional.ofNullable(this.developerAppInsightsApiKey);
    }

    /**
     * The Application Insights App Id
     * 
     */
    @Import(name="developerAppInsightsApplicationId")
    private @Nullable Output developerAppInsightsApplicationId;

    /**
     * @return The Application Insights App Id
     * 
     */
    public Optional> developerAppInsightsApplicationId() {
        return Optional.ofNullable(this.developerAppInsightsApplicationId);
    }

    /**
     * Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.
     * 
     */
    @Import(name="disableLocalAuth")
    private @Nullable Output disableLocalAuth;

    /**
     * @return Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.
     * 
     */
    public Optional> disableLocalAuth() {
        return Optional.ofNullable(this.disableLocalAuth);
    }

    /**
     * The Name of the bot
     * 
     */
    @Import(name="displayName", required=true)
    private Output displayName;

    /**
     * @return The Name of the bot
     * 
     */
    public Output displayName() {
        return this.displayName;
    }

    /**
     * The bot's endpoint
     * 
     */
    @Import(name="endpoint", required=true)
    private Output endpoint;

    /**
     * @return The bot's endpoint
     * 
     */
    public Output endpoint() {
        return this.endpoint;
    }

    /**
     * The Icon Url of the bot
     * 
     */
    @Import(name="iconUrl")
    private @Nullable Output iconUrl;

    /**
     * @return The Icon Url of the bot
     * 
     */
    public Optional> iconUrl() {
        return Optional.ofNullable(this.iconUrl);
    }

    /**
     * Whether Cmek is enabled
     * 
     */
    @Import(name="isCmekEnabled")
    private @Nullable Output isCmekEnabled;

    /**
     * @return Whether Cmek is enabled
     * 
     */
    public Optional> isCmekEnabled() {
        return Optional.ofNullable(this.isCmekEnabled);
    }

    /**
     * Whether the bot is streaming supported
     * 
     */
    @Import(name="isStreamingSupported")
    private @Nullable Output isStreamingSupported;

    /**
     * @return Whether the bot is streaming supported
     * 
     */
    public Optional> isStreamingSupported() {
        return Optional.ofNullable(this.isStreamingSupported);
    }

    /**
     * Collection of LUIS App Ids
     * 
     */
    @Import(name="luisAppIds")
    private @Nullable Output> luisAppIds;

    /**
     * @return Collection of LUIS App Ids
     * 
     */
    public Optional>> luisAppIds() {
        return Optional.ofNullable(this.luisAppIds);
    }

    /**
     * The LUIS Key
     * 
     */
    @Import(name="luisKey")
    private @Nullable Output luisKey;

    /**
     * @return The LUIS Key
     * 
     */
    public Optional> luisKey() {
        return Optional.ofNullable(this.luisKey);
    }

    /**
     * The bot's manifest url
     * 
     */
    @Import(name="manifestUrl")
    private @Nullable Output manifestUrl;

    /**
     * @return The bot's manifest url
     * 
     */
    public Optional> manifestUrl() {
        return Optional.ofNullable(this.manifestUrl);
    }

    /**
     * Microsoft App Id for the bot
     * 
     */
    @Import(name="msaAppId", required=true)
    private Output msaAppId;

    /**
     * @return Microsoft App Id for the bot
     * 
     */
    public Output msaAppId() {
        return this.msaAppId;
    }

    /**
     * Microsoft App Managed Identity Resource Id for the bot
     * 
     */
    @Import(name="msaAppMSIResourceId")
    private @Nullable Output msaAppMSIResourceId;

    /**
     * @return Microsoft App Managed Identity Resource Id for the bot
     * 
     */
    public Optional> msaAppMSIResourceId() {
        return Optional.ofNullable(this.msaAppMSIResourceId);
    }

    /**
     * Microsoft App Tenant Id for the bot
     * 
     */
    @Import(name="msaAppTenantId")
    private @Nullable Output msaAppTenantId;

    /**
     * @return Microsoft App Tenant Id for the bot
     * 
     */
    public Optional> msaAppTenantId() {
        return Optional.ofNullable(this.msaAppTenantId);
    }

    /**
     * Microsoft App Type for the bot
     * 
     */
    @Import(name="msaAppType")
    private @Nullable Output> msaAppType;

    /**
     * @return Microsoft App Type for the bot
     * 
     */
    public Optional>> msaAppType() {
        return Optional.ofNullable(this.msaAppType);
    }

    /**
     * The hint to browser (e.g. protocol handler) on how to open the bot for authoring
     * 
     */
    @Import(name="openWithHint")
    private @Nullable Output openWithHint;

    /**
     * @return The hint to browser (e.g. protocol handler) on how to open the bot for authoring
     * 
     */
    public Optional> openWithHint() {
        return Optional.ofNullable(this.openWithHint);
    }

    /**
     * Contains resource parameters defined as key/value pairs.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return Contains resource parameters defined as key/value pairs.
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * Whether the bot is in an isolated network
     * 
     */
    @Import(name="publicNetworkAccess")
    private @Nullable Output> publicNetworkAccess;

    /**
     * @return Whether the bot is in an isolated network
     * 
     */
    public Optional>> publicNetworkAccess() {
        return Optional.ofNullable(this.publicNetworkAccess);
    }

    /**
     * Publishing credentials of the resource
     * 
     */
    @Import(name="publishingCredentials")
    private @Nullable Output publishingCredentials;

    /**
     * @return Publishing credentials of the resource
     * 
     */
    public Optional> publishingCredentials() {
        return Optional.ofNullable(this.publishingCredentials);
    }

    /**
     * The channel schema transformation version for the bot
     * 
     */
    @Import(name="schemaTransformationVersion")
    private @Nullable Output schemaTransformationVersion;

    /**
     * @return The channel schema transformation version for the bot
     * 
     */
    public Optional> schemaTransformationVersion() {
        return Optional.ofNullable(this.schemaTransformationVersion);
    }

    /**
     * The storage resourceId for the bot
     * 
     */
    @Import(name="storageResourceId")
    private @Nullable Output storageResourceId;

    /**
     * @return The storage resourceId for the bot
     * 
     */
    public Optional> storageResourceId() {
        return Optional.ofNullable(this.storageResourceId);
    }

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

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

    private BotPropertiesArgs() {}

    private BotPropertiesArgs(BotPropertiesArgs $) {
        this.allSettings = $.allSettings;
        this.appPasswordHint = $.appPasswordHint;
        this.cmekKeyVaultUrl = $.cmekKeyVaultUrl;
        this.description = $.description;
        this.developerAppInsightKey = $.developerAppInsightKey;
        this.developerAppInsightsApiKey = $.developerAppInsightsApiKey;
        this.developerAppInsightsApplicationId = $.developerAppInsightsApplicationId;
        this.disableLocalAuth = $.disableLocalAuth;
        this.displayName = $.displayName;
        this.endpoint = $.endpoint;
        this.iconUrl = $.iconUrl;
        this.isCmekEnabled = $.isCmekEnabled;
        this.isStreamingSupported = $.isStreamingSupported;
        this.luisAppIds = $.luisAppIds;
        this.luisKey = $.luisKey;
        this.manifestUrl = $.manifestUrl;
        this.msaAppId = $.msaAppId;
        this.msaAppMSIResourceId = $.msaAppMSIResourceId;
        this.msaAppTenantId = $.msaAppTenantId;
        this.msaAppType = $.msaAppType;
        this.openWithHint = $.openWithHint;
        this.parameters = $.parameters;
        this.publicNetworkAccess = $.publicNetworkAccess;
        this.publishingCredentials = $.publishingCredentials;
        this.schemaTransformationVersion = $.schemaTransformationVersion;
        this.storageResourceId = $.storageResourceId;
        this.tenantId = $.tenantId;
    }

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

    public static final class Builder {
        private BotPropertiesArgs $;

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

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

        /**
         * @param allSettings Contains resource all settings defined as key/value pairs.
         * 
         * @return builder
         * 
         */
        public Builder allSettings(@Nullable Output> allSettings) {
            $.allSettings = allSettings;
            return this;
        }

        /**
         * @param allSettings Contains resource all settings defined as key/value pairs.
         * 
         * @return builder
         * 
         */
        public Builder allSettings(Map allSettings) {
            return allSettings(Output.of(allSettings));
        }

        /**
         * @param appPasswordHint The hint (e.g. keyVault secret resourceId) on how to fetch the app secret
         * 
         * @return builder
         * 
         */
        public Builder appPasswordHint(@Nullable Output appPasswordHint) {
            $.appPasswordHint = appPasswordHint;
            return this;
        }

        /**
         * @param appPasswordHint The hint (e.g. keyVault secret resourceId) on how to fetch the app secret
         * 
         * @return builder
         * 
         */
        public Builder appPasswordHint(String appPasswordHint) {
            return appPasswordHint(Output.of(appPasswordHint));
        }

        /**
         * @param cmekKeyVaultUrl The CMK Url
         * 
         * @return builder
         * 
         */
        public Builder cmekKeyVaultUrl(@Nullable Output cmekKeyVaultUrl) {
            $.cmekKeyVaultUrl = cmekKeyVaultUrl;
            return this;
        }

        /**
         * @param cmekKeyVaultUrl The CMK Url
         * 
         * @return builder
         * 
         */
        public Builder cmekKeyVaultUrl(String cmekKeyVaultUrl) {
            return cmekKeyVaultUrl(Output.of(cmekKeyVaultUrl));
        }

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

        /**
         * @param description The description of the bot
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param developerAppInsightKey The Application Insights key
         * 
         * @return builder
         * 
         */
        public Builder developerAppInsightKey(@Nullable Output developerAppInsightKey) {
            $.developerAppInsightKey = developerAppInsightKey;
            return this;
        }

        /**
         * @param developerAppInsightKey The Application Insights key
         * 
         * @return builder
         * 
         */
        public Builder developerAppInsightKey(String developerAppInsightKey) {
            return developerAppInsightKey(Output.of(developerAppInsightKey));
        }

        /**
         * @param developerAppInsightsApiKey The Application Insights Api Key
         * 
         * @return builder
         * 
         */
        public Builder developerAppInsightsApiKey(@Nullable Output developerAppInsightsApiKey) {
            $.developerAppInsightsApiKey = developerAppInsightsApiKey;
            return this;
        }

        /**
         * @param developerAppInsightsApiKey The Application Insights Api Key
         * 
         * @return builder
         * 
         */
        public Builder developerAppInsightsApiKey(String developerAppInsightsApiKey) {
            return developerAppInsightsApiKey(Output.of(developerAppInsightsApiKey));
        }

        /**
         * @param developerAppInsightsApplicationId The Application Insights App Id
         * 
         * @return builder
         * 
         */
        public Builder developerAppInsightsApplicationId(@Nullable Output developerAppInsightsApplicationId) {
            $.developerAppInsightsApplicationId = developerAppInsightsApplicationId;
            return this;
        }

        /**
         * @param developerAppInsightsApplicationId The Application Insights App Id
         * 
         * @return builder
         * 
         */
        public Builder developerAppInsightsApplicationId(String developerAppInsightsApplicationId) {
            return developerAppInsightsApplicationId(Output.of(developerAppInsightsApplicationId));
        }

        /**
         * @param disableLocalAuth Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.
         * 
         * @return builder
         * 
         */
        public Builder disableLocalAuth(@Nullable Output disableLocalAuth) {
            $.disableLocalAuth = disableLocalAuth;
            return this;
        }

        /**
         * @param disableLocalAuth Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.
         * 
         * @return builder
         * 
         */
        public Builder disableLocalAuth(Boolean disableLocalAuth) {
            return disableLocalAuth(Output.of(disableLocalAuth));
        }

        /**
         * @param displayName The Name of the bot
         * 
         * @return builder
         * 
         */
        public Builder displayName(Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName The Name of the bot
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param endpoint The bot's endpoint
         * 
         * @return builder
         * 
         */
        public Builder endpoint(Output endpoint) {
            $.endpoint = endpoint;
            return this;
        }

        /**
         * @param endpoint The bot's endpoint
         * 
         * @return builder
         * 
         */
        public Builder endpoint(String endpoint) {
            return endpoint(Output.of(endpoint));
        }

        /**
         * @param iconUrl The Icon Url of the bot
         * 
         * @return builder
         * 
         */
        public Builder iconUrl(@Nullable Output iconUrl) {
            $.iconUrl = iconUrl;
            return this;
        }

        /**
         * @param iconUrl The Icon Url of the bot
         * 
         * @return builder
         * 
         */
        public Builder iconUrl(String iconUrl) {
            return iconUrl(Output.of(iconUrl));
        }

        /**
         * @param isCmekEnabled Whether Cmek is enabled
         * 
         * @return builder
         * 
         */
        public Builder isCmekEnabled(@Nullable Output isCmekEnabled) {
            $.isCmekEnabled = isCmekEnabled;
            return this;
        }

        /**
         * @param isCmekEnabled Whether Cmek is enabled
         * 
         * @return builder
         * 
         */
        public Builder isCmekEnabled(Boolean isCmekEnabled) {
            return isCmekEnabled(Output.of(isCmekEnabled));
        }

        /**
         * @param isStreamingSupported Whether the bot is streaming supported
         * 
         * @return builder
         * 
         */
        public Builder isStreamingSupported(@Nullable Output isStreamingSupported) {
            $.isStreamingSupported = isStreamingSupported;
            return this;
        }

        /**
         * @param isStreamingSupported Whether the bot is streaming supported
         * 
         * @return builder
         * 
         */
        public Builder isStreamingSupported(Boolean isStreamingSupported) {
            return isStreamingSupported(Output.of(isStreamingSupported));
        }

        /**
         * @param luisAppIds Collection of LUIS App Ids
         * 
         * @return builder
         * 
         */
        public Builder luisAppIds(@Nullable Output> luisAppIds) {
            $.luisAppIds = luisAppIds;
            return this;
        }

        /**
         * @param luisAppIds Collection of LUIS App Ids
         * 
         * @return builder
         * 
         */
        public Builder luisAppIds(List luisAppIds) {
            return luisAppIds(Output.of(luisAppIds));
        }

        /**
         * @param luisAppIds Collection of LUIS App Ids
         * 
         * @return builder
         * 
         */
        public Builder luisAppIds(String... luisAppIds) {
            return luisAppIds(List.of(luisAppIds));
        }

        /**
         * @param luisKey The LUIS Key
         * 
         * @return builder
         * 
         */
        public Builder luisKey(@Nullable Output luisKey) {
            $.luisKey = luisKey;
            return this;
        }

        /**
         * @param luisKey The LUIS Key
         * 
         * @return builder
         * 
         */
        public Builder luisKey(String luisKey) {
            return luisKey(Output.of(luisKey));
        }

        /**
         * @param manifestUrl The bot's manifest url
         * 
         * @return builder
         * 
         */
        public Builder manifestUrl(@Nullable Output manifestUrl) {
            $.manifestUrl = manifestUrl;
            return this;
        }

        /**
         * @param manifestUrl The bot's manifest url
         * 
         * @return builder
         * 
         */
        public Builder manifestUrl(String manifestUrl) {
            return manifestUrl(Output.of(manifestUrl));
        }

        /**
         * @param msaAppId Microsoft App Id for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppId(Output msaAppId) {
            $.msaAppId = msaAppId;
            return this;
        }

        /**
         * @param msaAppId Microsoft App Id for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppId(String msaAppId) {
            return msaAppId(Output.of(msaAppId));
        }

        /**
         * @param msaAppMSIResourceId Microsoft App Managed Identity Resource Id for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppMSIResourceId(@Nullable Output msaAppMSIResourceId) {
            $.msaAppMSIResourceId = msaAppMSIResourceId;
            return this;
        }

        /**
         * @param msaAppMSIResourceId Microsoft App Managed Identity Resource Id for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppMSIResourceId(String msaAppMSIResourceId) {
            return msaAppMSIResourceId(Output.of(msaAppMSIResourceId));
        }

        /**
         * @param msaAppTenantId Microsoft App Tenant Id for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppTenantId(@Nullable Output msaAppTenantId) {
            $.msaAppTenantId = msaAppTenantId;
            return this;
        }

        /**
         * @param msaAppTenantId Microsoft App Tenant Id for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppTenantId(String msaAppTenantId) {
            return msaAppTenantId(Output.of(msaAppTenantId));
        }

        /**
         * @param msaAppType Microsoft App Type for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppType(@Nullable Output> msaAppType) {
            $.msaAppType = msaAppType;
            return this;
        }

        /**
         * @param msaAppType Microsoft App Type for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppType(Either msaAppType) {
            return msaAppType(Output.of(msaAppType));
        }

        /**
         * @param msaAppType Microsoft App Type for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppType(String msaAppType) {
            return msaAppType(Either.ofLeft(msaAppType));
        }

        /**
         * @param msaAppType Microsoft App Type for the bot
         * 
         * @return builder
         * 
         */
        public Builder msaAppType(MsaAppType msaAppType) {
            return msaAppType(Either.ofRight(msaAppType));
        }

        /**
         * @param openWithHint The hint to browser (e.g. protocol handler) on how to open the bot for authoring
         * 
         * @return builder
         * 
         */
        public Builder openWithHint(@Nullable Output openWithHint) {
            $.openWithHint = openWithHint;
            return this;
        }

        /**
         * @param openWithHint The hint to browser (e.g. protocol handler) on how to open the bot for authoring
         * 
         * @return builder
         * 
         */
        public Builder openWithHint(String openWithHint) {
            return openWithHint(Output.of(openWithHint));
        }

        /**
         * @param parameters Contains resource parameters defined as key/value pairs.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters Contains resource parameters defined as key/value pairs.
         * 
         * @return builder
         * 
         */
        public Builder parameters(Map parameters) {
            return parameters(Output.of(parameters));
        }

        /**
         * @param publicNetworkAccess Whether the bot is in an isolated network
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(@Nullable Output> publicNetworkAccess) {
            $.publicNetworkAccess = publicNetworkAccess;
            return this;
        }

        /**
         * @param publicNetworkAccess Whether the bot is in an isolated network
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(Either publicNetworkAccess) {
            return publicNetworkAccess(Output.of(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Whether the bot is in an isolated network
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(String publicNetworkAccess) {
            return publicNetworkAccess(Either.ofLeft(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Whether the bot is in an isolated network
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(PublicNetworkAccess publicNetworkAccess) {
            return publicNetworkAccess(Either.ofRight(publicNetworkAccess));
        }

        /**
         * @param publishingCredentials Publishing credentials of the resource
         * 
         * @return builder
         * 
         */
        public Builder publishingCredentials(@Nullable Output publishingCredentials) {
            $.publishingCredentials = publishingCredentials;
            return this;
        }

        /**
         * @param publishingCredentials Publishing credentials of the resource
         * 
         * @return builder
         * 
         */
        public Builder publishingCredentials(String publishingCredentials) {
            return publishingCredentials(Output.of(publishingCredentials));
        }

        /**
         * @param schemaTransformationVersion The channel schema transformation version for the bot
         * 
         * @return builder
         * 
         */
        public Builder schemaTransformationVersion(@Nullable Output schemaTransformationVersion) {
            $.schemaTransformationVersion = schemaTransformationVersion;
            return this;
        }

        /**
         * @param schemaTransformationVersion The channel schema transformation version for the bot
         * 
         * @return builder
         * 
         */
        public Builder schemaTransformationVersion(String schemaTransformationVersion) {
            return schemaTransformationVersion(Output.of(schemaTransformationVersion));
        }

        /**
         * @param storageResourceId The storage resourceId for the bot
         * 
         * @return builder
         * 
         */
        public Builder storageResourceId(@Nullable Output storageResourceId) {
            $.storageResourceId = storageResourceId;
            return this;
        }

        /**
         * @param storageResourceId The storage resourceId for the bot
         * 
         * @return builder
         * 
         */
        public Builder storageResourceId(String storageResourceId) {
            return storageResourceId(Output.of(storageResourceId));
        }

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

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

        public BotPropertiesArgs build() {
            if ($.displayName == null) {
                throw new MissingRequiredPropertyException("BotPropertiesArgs", "displayName");
            }
            if ($.endpoint == null) {
                throw new MissingRequiredPropertyException("BotPropertiesArgs", "endpoint");
            }
            $.iconUrl = Codegen.stringProp("iconUrl").output().arg($.iconUrl).def("").getNullable();
            $.isCmekEnabled = Codegen.booleanProp("isCmekEnabled").output().arg($.isCmekEnabled).def(false).getNullable();
            $.isStreamingSupported = Codegen.booleanProp("isStreamingSupported").output().arg($.isStreamingSupported).def(false).getNullable();
            if ($.msaAppId == null) {
                throw new MissingRequiredPropertyException("BotPropertiesArgs", "msaAppId");
            }
            $.publicNetworkAccess = Codegen.stringProp("publicNetworkAccess").left(PublicNetworkAccess.class).output().arg($.publicNetworkAccess).def("Enabled").getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy