CustomDomainArgs

data class CustomDomainArgs(val domainName: Output<String>? = null, val name: Output<String>? = null, val webPubsubCustomCertificateId: Output<String>? = null, val webPubsubId: Output<String>? = null) : ConvertibleToJava<CustomDomainArgs>

Manages an Azure Web PubSub Custom Domain.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.webpubsub.Service;
import com.pulumi.azure.webpubsub.ServiceArgs;
import com.pulumi.azure.webpubsub.inputs.ServiceIdentityArgs;
import com.pulumi.azure.keyvault.KeyVault;
import com.pulumi.azure.keyvault.KeyVaultArgs;
import com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;
import com.pulumi.azure.keyvault.Certificate;
import com.pulumi.azure.keyvault.CertificateArgs;
import com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;
import com.pulumi.azure.webpubsub.CustomCertificate;
import com.pulumi.azure.webpubsub.CustomCertificateArgs;
import com.pulumi.azure.webpubsub.CustomDomain;
import com.pulumi.azure.webpubsub.CustomDomainArgs;
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) {
final var current = CoreFunctions.getClientConfig();
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleService = new Service("exampleService", ServiceArgs.builder()
.name("example-webpubsub")
.location(testAzurermResourceGroup.location())
.resourceGroupName(testAzurermResourceGroup.name())
.sku(Map.ofEntries(
Map.entry("name", "Premium_P1"),
Map.entry("capacity", 1)
))
.identity(ServiceIdentityArgs.builder()
.type("SystemAssigned")
.build())
.build());
var exampleKeyVault = new KeyVault("exampleKeyVault", KeyVaultArgs.builder()
.name("examplekeyvault")
.location(example.location())
.resourceGroupName(example.name())
.tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
.skuName("premium")
.accessPolicies(
KeyVaultAccessPolicyArgs.builder()
.tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
.objectId(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.certificatePermissions(
"Create",
"Get",
"List")
.secretPermissions(
"Get",
"List")
.build(),
KeyVaultAccessPolicyArgs.builder()
.tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
.objectId(testAzurermWebPubsub.identity()[0].principalId())
.certificatePermissions(
"Create",
"Get",
"List")
.secretPermissions(
"Get",
"List")
.build())
.build());
var exampleCertificate = new Certificate("exampleCertificate", CertificateArgs.builder()
.name("imported-cert")
.keyVaultId(exampleKeyVault.id())
.certificate(CertificateCertificateArgs.builder()
.contents(StdFunctions.filebase64(Filebase64Args.builder()
.input("certificate-to-import.pfx")
.build()).result())
.password("")
.build())
.build());
var test = new CustomCertificate("test", CustomCertificateArgs.builder()
.name("example-cert")
.webPubsubId(exampleService.id())
.customCertificateId(exampleCertificate.id())
.build());
var testCustomDomain = new CustomDomain("testCustomDomain", CustomDomainArgs.builder()
.name("example-domain")
.domainName("tftest.com")
.webPubsubId(testAzurermWebPubsub.id())
.webPubsubCustomCertificateId(test.id())
.build());
}
}

Import

Custom Domain for a Web PubSub service can be imported using the resource id, e.g.

$ pulumi import azure:webpubsub/customDomain:CustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/webpubsub1/customDomains/customDomain1

Constructors

Link copied to clipboard
fun CustomDomainArgs(domainName: Output<String>? = null, name: Output<String>? = null, webPubsubCustomCertificateId: Output<String>? = null, webPubsubId: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): CustomDomainArgs

Properties

Link copied to clipboard
val domainName: Output<String>? = null

Specifies the custom domain name of the Web PubSub Custom Domain. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>? = null

Specifies the name of the Web PubSub Custom Domain. Changing this forces a new resource to be created.

Link copied to clipboard

Specifies the Web PubSub Custom Certificate ID of the Web PubSub Custom Domain. Changing this forces a new resource to be created.

Link copied to clipboard
val webPubsubId: Output<String>? = null

Specifies the Web PubSub ID of the Web PubSub Custom Domain. Changing this forces a new resource to be created.