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

com.pulumi.azurenative.webpubsub.WebPubSub 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.webpubsub;

import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.webpubsub.WebPubSubArgs;
import com.pulumi.azurenative.webpubsub.outputs.LiveTraceConfigurationResponse;
import com.pulumi.azurenative.webpubsub.outputs.ManagedIdentityResponse;
import com.pulumi.azurenative.webpubsub.outputs.PrivateEndpointConnectionResponse;
import com.pulumi.azurenative.webpubsub.outputs.ResourceLogConfigurationResponse;
import com.pulumi.azurenative.webpubsub.outputs.ResourceSkuResponse;
import com.pulumi.azurenative.webpubsub.outputs.SharedPrivateLinkResourceResponse;
import com.pulumi.azurenative.webpubsub.outputs.SystemDataResponse;
import com.pulumi.azurenative.webpubsub.outputs.WebPubSubNetworkACLsResponse;
import com.pulumi.azurenative.webpubsub.outputs.WebPubSubTlsSettingsResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * A class represent a resource.
 * Azure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2021-04-01-preview.
 * 
 * Other available API versions: 2021-04-01-preview, 2021-06-01-preview, 2021-09-01-preview, 2023-03-01-preview, 2023-06-01-preview, 2023-08-01-preview, 2024-01-01-preview, 2024-03-01, 2024-04-01-preview, 2024-08-01-preview.
 * 
 * ## Example Usage
 * ### WebPubSub_CreateOrUpdate
 * 
 * 
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.webpubsub.WebPubSub;
 * import com.pulumi.azurenative.webpubsub.WebPubSubArgs;
 * import com.pulumi.azurenative.webpubsub.inputs.ManagedIdentityArgs;
 * import com.pulumi.azurenative.webpubsub.inputs.LiveTraceConfigurationArgs;
 * import com.pulumi.azurenative.webpubsub.inputs.WebPubSubNetworkACLsArgs;
 * import com.pulumi.azurenative.webpubsub.inputs.NetworkACLArgs;
 * import com.pulumi.azurenative.webpubsub.inputs.ResourceSkuArgs;
 * import com.pulumi.azurenative.webpubsub.inputs.WebPubSubTlsSettingsArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 * 
 *     public static void stack(Context ctx) {
 *         var webPubSub = new WebPubSub("webPubSub", WebPubSubArgs.builder()
 *             .disableAadAuth(false)
 *             .disableLocalAuth(false)
 *             .identity(ManagedIdentityArgs.builder()
 *                 .type("SystemAssigned")
 *                 .build())
 *             .liveTraceConfiguration(LiveTraceConfigurationArgs.builder()
 *                 .categories(LiveTraceCategoryArgs.builder()
 *                     .enabled("true")
 *                     .name("ConnectivityLogs")
 *                     .build())
 *                 .enabled("false")
 *                 .build())
 *             .location("eastus")
 *             .networkACLs(WebPubSubNetworkACLsArgs.builder()
 *                 .defaultAction("Deny")
 *                 .privateEndpoints(PrivateEndpointACLArgs.builder()
 *                     .allow("ServerConnection")
 *                     .name("mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e")
 *                     .build())
 *                 .publicNetwork(NetworkACLArgs.builder()
 *                     .allow("ClientConnection")
 *                     .build())
 *                 .build())
 *             .publicNetworkAccess("Enabled")
 *             .resourceGroupName("myResourceGroup")
 *             .resourceName("myWebPubSubService")
 *             .sku(ResourceSkuArgs.builder()
 *                 .capacity(1)
 *                 .name("Premium_P1")
 *                 .tier("Premium")
 *                 .build())
 *             .tags(Map.of("key1", "value1"))
 *             .tls(WebPubSubTlsSettingsArgs.builder()
 *                 .clientCertEnabled(false)
 *                 .build())
 *             .build());
 * 
 *     }
 * }
 * 
 * }
 * 
* * ## Import * * An existing resource can be imported using its type token, name, and identifier, e.g. * * ```sh * $ pulumi import azure-native:webpubsub:WebPubSub myWebPubSubService /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName} * ``` * */ @ResourceType(type="azure-native:webpubsub:WebPubSub") public class WebPubSub extends com.pulumi.resources.CustomResource { /** * DisableLocalAuth * Enable or disable aad auth * When set as true, connection with AuthType=aad won't work. * */ @Export(name="disableAadAuth", refs={Boolean.class}, tree="[0]") private Output disableAadAuth; /** * @return DisableLocalAuth * Enable or disable aad auth * When set as true, connection with AuthType=aad won't work. * */ public Output> disableAadAuth() { return Codegen.optional(this.disableAadAuth); } /** * DisableLocalAuth * Enable or disable local auth with AccessKey * When set as true, connection with AccessKey=xxx won't work. * */ @Export(name="disableLocalAuth", refs={Boolean.class}, tree="[0]") private Output disableLocalAuth; /** * @return DisableLocalAuth * Enable or disable local auth with AccessKey * When set as true, connection with AccessKey=xxx won't work. * */ public Output> disableLocalAuth() { return Codegen.optional(this.disableLocalAuth); } /** * The publicly accessible IP of the resource. * */ @Export(name="externalIP", refs={String.class}, tree="[0]") private Output externalIP; /** * @return The publicly accessible IP of the resource. * */ public Output externalIP() { return this.externalIP; } /** * FQDN of the service instance. * */ @Export(name="hostName", refs={String.class}, tree="[0]") private Output hostName; /** * @return FQDN of the service instance. * */ public Output hostName() { return this.hostName; } /** * Deprecated. * */ @Export(name="hostNamePrefix", refs={String.class}, tree="[0]") private Output hostNamePrefix; /** * @return Deprecated. * */ public Output hostNamePrefix() { return this.hostNamePrefix; } /** * A class represent managed identities used for request and response * */ @Export(name="identity", refs={ManagedIdentityResponse.class}, tree="[0]") private Output identity; /** * @return A class represent managed identities used for request and response * */ public Output> identity() { return Codegen.optional(this.identity); } /** * Live trace configuration of a Microsoft.SignalRService resource. * */ @Export(name="liveTraceConfiguration", refs={LiveTraceConfigurationResponse.class}, tree="[0]") private Output liveTraceConfiguration; /** * @return Live trace configuration of a Microsoft.SignalRService resource. * */ public Output> liveTraceConfiguration() { return Codegen.optional(this.liveTraceConfiguration); } /** * The GEO location of the resource. e.g. West US | East US | North Central US | South Central US. * */ @Export(name="location", refs={String.class}, tree="[0]") private Output location; /** * @return The GEO location of the resource. e.g. West US | East US | North Central US | South Central US. * */ public Output> location() { return Codegen.optional(this.location); } /** * The name of the resource. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** * @return The name of the resource. * */ public Output name() { return this.name; } /** * Network ACLs for the resource * */ @Export(name="networkACLs", refs={WebPubSubNetworkACLsResponse.class}, tree="[0]") private Output networkACLs; /** * @return Network ACLs for the resource * */ public Output> networkACLs() { return Codegen.optional(this.networkACLs); } /** * Private endpoint connections to the resource. * */ @Export(name="privateEndpointConnections", refs={List.class,PrivateEndpointConnectionResponse.class}, tree="[0,1]") private Output> privateEndpointConnections; /** * @return Private endpoint connections to the resource. * */ public Output> privateEndpointConnections() { return this.privateEndpointConnections; } /** * Provisioning state of the resource. * */ @Export(name="provisioningState", refs={String.class}, tree="[0]") private Output provisioningState; /** * @return Provisioning state of the resource. * */ public Output provisioningState() { return this.provisioningState; } /** * Enable or disable public network access. Default to "Enabled". * When it's Enabled, network ACLs still apply. * When it's Disabled, public network access is always disabled no matter what you set in network ACLs. * */ @Export(name="publicNetworkAccess", refs={String.class}, tree="[0]") private Output publicNetworkAccess; /** * @return Enable or disable public network access. Default to "Enabled". * When it's Enabled, network ACLs still apply. * When it's Disabled, public network access is always disabled no matter what you set in network ACLs. * */ public Output> publicNetworkAccess() { return Codegen.optional(this.publicNetworkAccess); } /** * The publicly accessible port of the resource which is designed for browser/client side usage. * */ @Export(name="publicPort", refs={Integer.class}, tree="[0]") private Output publicPort; /** * @return The publicly accessible port of the resource which is designed for browser/client side usage. * */ public Output publicPort() { return this.publicPort; } /** * Resource log configuration of a Microsoft.SignalRService resource. * */ @Export(name="resourceLogConfiguration", refs={ResourceLogConfigurationResponse.class}, tree="[0]") private Output resourceLogConfiguration; /** * @return Resource log configuration of a Microsoft.SignalRService resource. * */ public Output> resourceLogConfiguration() { return Codegen.optional(this.resourceLogConfiguration); } /** * The publicly accessible port of the resource which is designed for customer server side usage. * */ @Export(name="serverPort", refs={Integer.class}, tree="[0]") private Output serverPort; /** * @return The publicly accessible port of the resource which is designed for customer server side usage. * */ public Output serverPort() { return this.serverPort; } /** * The list of shared private link resources. * */ @Export(name="sharedPrivateLinkResources", refs={List.class,SharedPrivateLinkResourceResponse.class}, tree="[0,1]") private Output> sharedPrivateLinkResources; /** * @return The list of shared private link resources. * */ public Output> sharedPrivateLinkResources() { return this.sharedPrivateLinkResources; } /** * The billing information of the resource. * */ @Export(name="sku", refs={ResourceSkuResponse.class}, tree="[0]") private Output sku; /** * @return The billing information of the resource. * */ public Output> sku() { return Codegen.optional(this.sku); } /** * Metadata pertaining to creation and last modification of the resource. * */ @Export(name="systemData", refs={SystemDataResponse.class}, tree="[0]") private Output systemData; /** * @return Metadata pertaining to creation and last modification of the resource. * */ public Output systemData() { return this.systemData; } /** * Tags of the service which is a list of key value pairs that describe the resource. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** * @return Tags of the service which is a list of key value pairs that describe the resource. * */ public Output>> tags() { return Codegen.optional(this.tags); } /** * TLS settings for the resource * */ @Export(name="tls", refs={WebPubSubTlsSettingsResponse.class}, tree="[0]") private Output tls; /** * @return TLS settings for the resource * */ public Output> tls() { return Codegen.optional(this.tls); } /** * The type of the resource - e.g. "Microsoft.SignalRService/SignalR" * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** * @return The type of the resource - e.g. "Microsoft.SignalRService/SignalR" * */ public Output type() { return this.type; } /** * Version of the resource. Probably you need the same or higher version of client SDKs. * */ @Export(name="version", refs={String.class}, tree="[0]") private Output version; /** * @return Version of the resource. Probably you need the same or higher version of client SDKs. * */ public Output version() { return this.version; } /** * * @param name The _unique_ name of the resulting resource. */ public WebPubSub(java.lang.String name) { this(name, WebPubSubArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public WebPubSub(java.lang.String name, WebPubSubArgs args) { this(name, args, null); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ public WebPubSub(java.lang.String name, WebPubSubArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:webpubsub:WebPubSub", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private WebPubSub(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:webpubsub:WebPubSub", name, null, makeResourceOptions(options, id), false); } private static WebPubSubArgs makeArgs(WebPubSubArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? WebPubSubArgs.Empty : args; } private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .aliases(List.of( Output.of(Alias.builder().type("azure-native:webpubsub/v20210401preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20210601preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20210901preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20211001:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20220801preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20230201:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20230301preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20230601preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20230801preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20240101preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20240301:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20240401preview:WebPubSub").build()), Output.of(Alias.builder().type("azure-native:webpubsub/v20240801preview:WebPubSub").build()) )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } /** * Get an existing Host resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param options Optional settings to control the behavior of the CustomResource. */ public static WebPubSub get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new WebPubSub(name, id, options); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy