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

com.pulumi.azure.signalr.inputs.ServiceState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.signalr.inputs;

import com.pulumi.azure.signalr.inputs.ServiceCorArgs;
import com.pulumi.azure.signalr.inputs.ServiceIdentityArgs;
import com.pulumi.azure.signalr.inputs.ServiceLiveTraceArgs;
import com.pulumi.azure.signalr.inputs.ServiceSkuArgs;
import com.pulumi.azure.signalr.inputs.ServiceUpstreamEndpointArgs;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ServiceState Empty = new ServiceState();

    /**
     * Whether to enable AAD auth? Defaults to `true`.
     * 
     */
    @Import(name="aadAuthEnabled")
    private @Nullable Output aadAuthEnabled;

    /**
     * @return Whether to enable AAD auth? Defaults to `true`.
     * 
     */
    public Optional> aadAuthEnabled() {
        return Optional.ofNullable(this.aadAuthEnabled);
    }

    /**
     * Specifies if Connectivity Logs are enabled or not. Defaults to `false`.
     * 
     */
    @Import(name="connectivityLogsEnabled")
    private @Nullable Output connectivityLogsEnabled;

    /**
     * @return Specifies if Connectivity Logs are enabled or not. Defaults to `false`.
     * 
     */
    public Optional> connectivityLogsEnabled() {
        return Optional.ofNullable(this.connectivityLogsEnabled);
    }

    /**
     * A `cors` block as documented below.
     * 
     */
    @Import(name="cors")
    private @Nullable Output> cors;

    /**
     * @return A `cors` block as documented below.
     * 
     */
    public Optional>> cors() {
        return Optional.ofNullable(this.cors);
    }

    /**
     * The FQDN of the SignalR service.
     * 
     */
    @Import(name="hostname")
    private @Nullable Output hostname;

    /**
     * @return The FQDN of the SignalR service.
     * 
     */
    public Optional> hostname() {
        return Optional.ofNullable(this.hostname);
    }

    /**
     * Specifies if Http Request Logs are enabled or not. Defaults to `false`.
     * 
     */
    @Import(name="httpRequestLogsEnabled")
    private @Nullable Output httpRequestLogsEnabled;

    /**
     * @return Specifies if Http Request Logs are enabled or not. Defaults to `false`.
     * 
     */
    public Optional> httpRequestLogsEnabled() {
        return Optional.ofNullable(this.httpRequestLogsEnabled);
    }

    /**
     * An `identity` block as defined below.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return An `identity` block as defined below.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * The publicly accessible IP of the SignalR service.
     * 
     */
    @Import(name="ipAddress")
    private @Nullable Output ipAddress;

    /**
     * @return The publicly accessible IP of the SignalR service.
     * 
     */
    public Optional> ipAddress() {
        return Optional.ofNullable(this.ipAddress);
    }

    /**
     * A `live_trace` block as defined below.
     * 
     */
    @Import(name="liveTrace")
    private @Nullable Output liveTrace;

    /**
     * @return A `live_trace` block as defined below.
     * 
     */
    public Optional> liveTrace() {
        return Optional.ofNullable(this.liveTrace);
    }

    /**
     * @deprecated
     * `live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0.
     * 
     */
    @Deprecated /* `live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0. */
    @Import(name="liveTraceEnabled")
    private @Nullable Output liveTraceEnabled;

    /**
     * @deprecated
     * `live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0.
     * 
     */
    @Deprecated /* `live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0. */
    public Optional> liveTraceEnabled() {
        return Optional.ofNullable(this.liveTraceEnabled);
    }

    /**
     * Whether to enable local auth? Defaults to `true`.
     * 
     */
    @Import(name="localAuthEnabled")
    private @Nullable Output localAuthEnabled;

    /**
     * @return Whether to enable local auth? Defaults to `true`.
     * 
     */
    public Optional> localAuthEnabled() {
        return Optional.ofNullable(this.localAuthEnabled);
    }

    /**
     * Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Specifies if Messaging Logs are enabled or not. Defaults to `false`.
     * 
     */
    @Import(name="messagingLogsEnabled")
    private @Nullable Output messagingLogsEnabled;

    /**
     * @return Specifies if Messaging Logs are enabled or not. Defaults to `false`.
     * 
     */
    public Optional> messagingLogsEnabled() {
        return Optional.ofNullable(this.messagingLogsEnabled);
    }

    /**
     * The name of the SignalR service. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the SignalR service. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The primary access key for the SignalR service.
     * 
     */
    @Import(name="primaryAccessKey")
    private @Nullable Output primaryAccessKey;

    /**
     * @return The primary access key for the SignalR service.
     * 
     */
    public Optional> primaryAccessKey() {
        return Optional.ofNullable(this.primaryAccessKey);
    }

    /**
     * The primary connection string for the SignalR service.
     * 
     */
    @Import(name="primaryConnectionString")
    private @Nullable Output primaryConnectionString;

    /**
     * @return The primary connection string for the SignalR service.
     * 
     */
    public Optional> primaryConnectionString() {
        return Optional.ofNullable(this.primaryConnectionString);
    }

    /**
     * Whether to enable public network access? Defaults to `true`.
     * 
     * > **Note:** `public_network_access_enabled` cannot be set to `false` in `Free` sku tier.
     * 
     */
    @Import(name="publicNetworkAccessEnabled")
    private @Nullable Output publicNetworkAccessEnabled;

    /**
     * @return Whether to enable public network access? Defaults to `true`.
     * 
     * > **Note:** `public_network_access_enabled` cannot be set to `false` in `Free` sku tier.
     * 
     */
    public Optional> publicNetworkAccessEnabled() {
        return Optional.ofNullable(this.publicNetworkAccessEnabled);
    }

    /**
     * The publicly accessible port of the SignalR service which is designed for browser/client use.
     * 
     */
    @Import(name="publicPort")
    private @Nullable Output publicPort;

    /**
     * @return The publicly accessible port of the SignalR service which is designed for browser/client use.
     * 
     */
    public Optional> publicPort() {
        return Optional.ofNullable(this.publicPort);
    }

    /**
     * The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="resourceGroupName")
    private @Nullable Output resourceGroupName;

    /**
     * @return The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.
     * 
     */
    public Optional> resourceGroupName() {
        return Optional.ofNullable(this.resourceGroupName);
    }

    /**
     * The secondary access key for the SignalR service.
     * 
     */
    @Import(name="secondaryAccessKey")
    private @Nullable Output secondaryAccessKey;

    /**
     * @return The secondary access key for the SignalR service.
     * 
     */
    public Optional> secondaryAccessKey() {
        return Optional.ofNullable(this.secondaryAccessKey);
    }

    /**
     * The secondary connection string for the SignalR service.
     * 
     */
    @Import(name="secondaryConnectionString")
    private @Nullable Output secondaryConnectionString;

    /**
     * @return The secondary connection string for the SignalR service.
     * 
     */
    public Optional> secondaryConnectionString() {
        return Optional.ofNullable(this.secondaryConnectionString);
    }

    /**
     * The publicly accessible port of the SignalR service which is designed for customer server side use.
     * 
     */
    @Import(name="serverPort")
    private @Nullable Output serverPort;

    /**
     * @return The publicly accessible port of the SignalR service which is designed for customer server side use.
     * 
     */
    public Optional> serverPort() {
        return Optional.ofNullable(this.serverPort);
    }

    /**
     * Specifies the client connection timeout. Defaults to `30`.
     * 
     */
    @Import(name="serverlessConnectionTimeoutInSeconds")
    private @Nullable Output serverlessConnectionTimeoutInSeconds;

    /**
     * @return Specifies the client connection timeout. Defaults to `30`.
     * 
     */
    public Optional> serverlessConnectionTimeoutInSeconds() {
        return Optional.ofNullable(this.serverlessConnectionTimeoutInSeconds);
    }

    /**
     * Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.
     * 
     */
    @Import(name="serviceMode")
    private @Nullable Output serviceMode;

    /**
     * @return Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.
     * 
     */
    public Optional> serviceMode() {
        return Optional.ofNullable(this.serviceMode);
    }

    /**
     * A `sku` block as documented below.
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

    /**
     * @return A `sku` block as documented below.
     * 
     */
    public Optional> sku() {
        return Optional.ofNullable(this.sku);
    }

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

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

    /**
     * Whether to request client certificate during TLS handshake? Defaults to `false`.
     * 
     * > **Note:** `tls_client_cert_enabled` cannot be set to `true` in `Free` sku tier.
     * 
     */
    @Import(name="tlsClientCertEnabled")
    private @Nullable Output tlsClientCertEnabled;

    /**
     * @return Whether to request client certificate during TLS handshake? Defaults to `false`.
     * 
     * > **Note:** `tls_client_cert_enabled` cannot be set to `true` in `Free` sku tier.
     * 
     */
    public Optional> tlsClientCertEnabled() {
        return Optional.ofNullable(this.tlsClientCertEnabled);
    }

    /**
     * An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
     * 
     */
    @Import(name="upstreamEndpoints")
    private @Nullable Output> upstreamEndpoints;

    /**
     * @return An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
     * 
     */
    public Optional>> upstreamEndpoints() {
        return Optional.ofNullable(this.upstreamEndpoints);
    }

    private ServiceState() {}

    private ServiceState(ServiceState $) {
        this.aadAuthEnabled = $.aadAuthEnabled;
        this.connectivityLogsEnabled = $.connectivityLogsEnabled;
        this.cors = $.cors;
        this.hostname = $.hostname;
        this.httpRequestLogsEnabled = $.httpRequestLogsEnabled;
        this.identity = $.identity;
        this.ipAddress = $.ipAddress;
        this.liveTrace = $.liveTrace;
        this.liveTraceEnabled = $.liveTraceEnabled;
        this.localAuthEnabled = $.localAuthEnabled;
        this.location = $.location;
        this.messagingLogsEnabled = $.messagingLogsEnabled;
        this.name = $.name;
        this.primaryAccessKey = $.primaryAccessKey;
        this.primaryConnectionString = $.primaryConnectionString;
        this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled;
        this.publicPort = $.publicPort;
        this.resourceGroupName = $.resourceGroupName;
        this.secondaryAccessKey = $.secondaryAccessKey;
        this.secondaryConnectionString = $.secondaryConnectionString;
        this.serverPort = $.serverPort;
        this.serverlessConnectionTimeoutInSeconds = $.serverlessConnectionTimeoutInSeconds;
        this.serviceMode = $.serviceMode;
        this.sku = $.sku;
        this.tags = $.tags;
        this.tlsClientCertEnabled = $.tlsClientCertEnabled;
        this.upstreamEndpoints = $.upstreamEndpoints;
    }

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

    public static final class Builder {
        private ServiceState $;

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

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

        /**
         * @param aadAuthEnabled Whether to enable AAD auth? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder aadAuthEnabled(@Nullable Output aadAuthEnabled) {
            $.aadAuthEnabled = aadAuthEnabled;
            return this;
        }

        /**
         * @param aadAuthEnabled Whether to enable AAD auth? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder aadAuthEnabled(Boolean aadAuthEnabled) {
            return aadAuthEnabled(Output.of(aadAuthEnabled));
        }

        /**
         * @param connectivityLogsEnabled Specifies if Connectivity Logs are enabled or not. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder connectivityLogsEnabled(@Nullable Output connectivityLogsEnabled) {
            $.connectivityLogsEnabled = connectivityLogsEnabled;
            return this;
        }

        /**
         * @param connectivityLogsEnabled Specifies if Connectivity Logs are enabled or not. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder connectivityLogsEnabled(Boolean connectivityLogsEnabled) {
            return connectivityLogsEnabled(Output.of(connectivityLogsEnabled));
        }

        /**
         * @param cors A `cors` block as documented below.
         * 
         * @return builder
         * 
         */
        public Builder cors(@Nullable Output> cors) {
            $.cors = cors;
            return this;
        }

        /**
         * @param cors A `cors` block as documented below.
         * 
         * @return builder
         * 
         */
        public Builder cors(List cors) {
            return cors(Output.of(cors));
        }

        /**
         * @param cors A `cors` block as documented below.
         * 
         * @return builder
         * 
         */
        public Builder cors(ServiceCorArgs... cors) {
            return cors(List.of(cors));
        }

        /**
         * @param hostname The FQDN of the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder hostname(@Nullable Output hostname) {
            $.hostname = hostname;
            return this;
        }

        /**
         * @param hostname The FQDN of the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder hostname(String hostname) {
            return hostname(Output.of(hostname));
        }

        /**
         * @param httpRequestLogsEnabled Specifies if Http Request Logs are enabled or not. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder httpRequestLogsEnabled(@Nullable Output httpRequestLogsEnabled) {
            $.httpRequestLogsEnabled = httpRequestLogsEnabled;
            return this;
        }

        /**
         * @param httpRequestLogsEnabled Specifies if Http Request Logs are enabled or not. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder httpRequestLogsEnabled(Boolean httpRequestLogsEnabled) {
            return httpRequestLogsEnabled(Output.of(httpRequestLogsEnabled));
        }

        /**
         * @param identity An `identity` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity An `identity` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder identity(ServiceIdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param ipAddress The publicly accessible IP of the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder ipAddress(@Nullable Output ipAddress) {
            $.ipAddress = ipAddress;
            return this;
        }

        /**
         * @param ipAddress The publicly accessible IP of the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder ipAddress(String ipAddress) {
            return ipAddress(Output.of(ipAddress));
        }

        /**
         * @param liveTrace A `live_trace` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder liveTrace(@Nullable Output liveTrace) {
            $.liveTrace = liveTrace;
            return this;
        }

        /**
         * @param liveTrace A `live_trace` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder liveTrace(ServiceLiveTraceArgs liveTrace) {
            return liveTrace(Output.of(liveTrace));
        }

        /**
         * @return builder
         * 
         * @deprecated
         * `live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0.
         * 
         */
        @Deprecated /* `live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0. */
        public Builder liveTraceEnabled(@Nullable Output liveTraceEnabled) {
            $.liveTraceEnabled = liveTraceEnabled;
            return this;
        }

        /**
         * @return builder
         * 
         * @deprecated
         * `live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0.
         * 
         */
        @Deprecated /* `live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0. */
        public Builder liveTraceEnabled(Boolean liveTraceEnabled) {
            return liveTraceEnabled(Output.of(liveTraceEnabled));
        }

        /**
         * @param localAuthEnabled Whether to enable local auth? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder localAuthEnabled(@Nullable Output localAuthEnabled) {
            $.localAuthEnabled = localAuthEnabled;
            return this;
        }

        /**
         * @param localAuthEnabled Whether to enable local auth? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder localAuthEnabled(Boolean localAuthEnabled) {
            return localAuthEnabled(Output.of(localAuthEnabled));
        }

        /**
         * @param location Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param messagingLogsEnabled Specifies if Messaging Logs are enabled or not. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder messagingLogsEnabled(@Nullable Output messagingLogsEnabled) {
            $.messagingLogsEnabled = messagingLogsEnabled;
            return this;
        }

        /**
         * @param messagingLogsEnabled Specifies if Messaging Logs are enabled or not. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder messagingLogsEnabled(Boolean messagingLogsEnabled) {
            return messagingLogsEnabled(Output.of(messagingLogsEnabled));
        }

        /**
         * @param name The name of the SignalR service. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the SignalR service. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param primaryAccessKey The primary access key for the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder primaryAccessKey(@Nullable Output primaryAccessKey) {
            $.primaryAccessKey = primaryAccessKey;
            return this;
        }

        /**
         * @param primaryAccessKey The primary access key for the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder primaryAccessKey(String primaryAccessKey) {
            return primaryAccessKey(Output.of(primaryAccessKey));
        }

        /**
         * @param primaryConnectionString The primary connection string for the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder primaryConnectionString(@Nullable Output primaryConnectionString) {
            $.primaryConnectionString = primaryConnectionString;
            return this;
        }

        /**
         * @param primaryConnectionString The primary connection string for the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder primaryConnectionString(String primaryConnectionString) {
            return primaryConnectionString(Output.of(primaryConnectionString));
        }

        /**
         * @param publicNetworkAccessEnabled Whether to enable public network access? Defaults to `true`.
         * 
         * > **Note:** `public_network_access_enabled` cannot be set to `false` in `Free` sku tier.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessEnabled(@Nullable Output publicNetworkAccessEnabled) {
            $.publicNetworkAccessEnabled = publicNetworkAccessEnabled;
            return this;
        }

        /**
         * @param publicNetworkAccessEnabled Whether to enable public network access? Defaults to `true`.
         * 
         * > **Note:** `public_network_access_enabled` cannot be set to `false` in `Free` sku tier.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessEnabled(Boolean publicNetworkAccessEnabled) {
            return publicNetworkAccessEnabled(Output.of(publicNetworkAccessEnabled));
        }

        /**
         * @param publicPort The publicly accessible port of the SignalR service which is designed for browser/client use.
         * 
         * @return builder
         * 
         */
        public Builder publicPort(@Nullable Output publicPort) {
            $.publicPort = publicPort;
            return this;
        }

        /**
         * @param publicPort The publicly accessible port of the SignalR service which is designed for browser/client use.
         * 
         * @return builder
         * 
         */
        public Builder publicPort(Integer publicPort) {
            return publicPort(Output.of(publicPort));
        }

        /**
         * @param resourceGroupName The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(@Nullable Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param secondaryAccessKey The secondary access key for the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder secondaryAccessKey(@Nullable Output secondaryAccessKey) {
            $.secondaryAccessKey = secondaryAccessKey;
            return this;
        }

        /**
         * @param secondaryAccessKey The secondary access key for the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder secondaryAccessKey(String secondaryAccessKey) {
            return secondaryAccessKey(Output.of(secondaryAccessKey));
        }

        /**
         * @param secondaryConnectionString The secondary connection string for the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder secondaryConnectionString(@Nullable Output secondaryConnectionString) {
            $.secondaryConnectionString = secondaryConnectionString;
            return this;
        }

        /**
         * @param secondaryConnectionString The secondary connection string for the SignalR service.
         * 
         * @return builder
         * 
         */
        public Builder secondaryConnectionString(String secondaryConnectionString) {
            return secondaryConnectionString(Output.of(secondaryConnectionString));
        }

        /**
         * @param serverPort The publicly accessible port of the SignalR service which is designed for customer server side use.
         * 
         * @return builder
         * 
         */
        public Builder serverPort(@Nullable Output serverPort) {
            $.serverPort = serverPort;
            return this;
        }

        /**
         * @param serverPort The publicly accessible port of the SignalR service which is designed for customer server side use.
         * 
         * @return builder
         * 
         */
        public Builder serverPort(Integer serverPort) {
            return serverPort(Output.of(serverPort));
        }

        /**
         * @param serverlessConnectionTimeoutInSeconds Specifies the client connection timeout. Defaults to `30`.
         * 
         * @return builder
         * 
         */
        public Builder serverlessConnectionTimeoutInSeconds(@Nullable Output serverlessConnectionTimeoutInSeconds) {
            $.serverlessConnectionTimeoutInSeconds = serverlessConnectionTimeoutInSeconds;
            return this;
        }

        /**
         * @param serverlessConnectionTimeoutInSeconds Specifies the client connection timeout. Defaults to `30`.
         * 
         * @return builder
         * 
         */
        public Builder serverlessConnectionTimeoutInSeconds(Integer serverlessConnectionTimeoutInSeconds) {
            return serverlessConnectionTimeoutInSeconds(Output.of(serverlessConnectionTimeoutInSeconds));
        }

        /**
         * @param serviceMode Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.
         * 
         * @return builder
         * 
         */
        public Builder serviceMode(@Nullable Output serviceMode) {
            $.serviceMode = serviceMode;
            return this;
        }

        /**
         * @param serviceMode Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.
         * 
         * @return builder
         * 
         */
        public Builder serviceMode(String serviceMode) {
            return serviceMode(Output.of(serviceMode));
        }

        /**
         * @param sku A `sku` block as documented below.
         * 
         * @return builder
         * 
         */
        public Builder sku(@Nullable Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku A `sku` block as documented below.
         * 
         * @return builder
         * 
         */
        public Builder sku(ServiceSkuArgs sku) {
            return sku(Output.of(sku));
        }

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

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

        /**
         * @param tlsClientCertEnabled Whether to request client certificate during TLS handshake? Defaults to `false`.
         * 
         * > **Note:** `tls_client_cert_enabled` cannot be set to `true` in `Free` sku tier.
         * 
         * @return builder
         * 
         */
        public Builder tlsClientCertEnabled(@Nullable Output tlsClientCertEnabled) {
            $.tlsClientCertEnabled = tlsClientCertEnabled;
            return this;
        }

        /**
         * @param tlsClientCertEnabled Whether to request client certificate during TLS handshake? Defaults to `false`.
         * 
         * > **Note:** `tls_client_cert_enabled` cannot be set to `true` in `Free` sku tier.
         * 
         * @return builder
         * 
         */
        public Builder tlsClientCertEnabled(Boolean tlsClientCertEnabled) {
            return tlsClientCertEnabled(Output.of(tlsClientCertEnabled));
        }

        /**
         * @param upstreamEndpoints An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
         * 
         * @return builder
         * 
         */
        public Builder upstreamEndpoints(@Nullable Output> upstreamEndpoints) {
            $.upstreamEndpoints = upstreamEndpoints;
            return this;
        }

        /**
         * @param upstreamEndpoints An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
         * 
         * @return builder
         * 
         */
        public Builder upstreamEndpoints(List upstreamEndpoints) {
            return upstreamEndpoints(Output.of(upstreamEndpoints));
        }

        /**
         * @param upstreamEndpoints An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
         * 
         * @return builder
         * 
         */
        public Builder upstreamEndpoints(ServiceUpstreamEndpointArgs... upstreamEndpoints) {
            return upstreamEndpoints(List.of(upstreamEndpoints));
        }

        public ServiceState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy