Azure Classic

Pulumi Official
Package maintained by Pulumi
v5.6.0 published on Friday, May 20, 2022 by Pulumi

CustomDomain

Manages a API Management Custom Domain.

Disclaimers

Note: It’s possible to define Custom Domains both within the azure.apimanagement.Service resource via the hostname_configurations block and by using this resource. However it’s not possible to use both methods to manage Custom Domains within an API Management Service, since there will be conflicts.

Example Usage

using Pulumi;
using Azure = Pulumi.Azure;

class MyStack : Stack
{
    public MyStack()
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
        {
            Location = "West Europe",
        });
        var exampleService = new Azure.ApiManagement.Service("exampleService", new Azure.ApiManagement.ServiceArgs
        {
            Location = azurerm_resource_group.Test.Location,
            ResourceGroupName = azurerm_resource_group.Test.Name,
            PublisherName = "pub1",
            PublisherEmail = "pub1@email.com",
            SkuName = "Developer_1",
        });
        var exampleCertificate = new Azure.KeyVault.Certificate("exampleCertificate", new Azure.KeyVault.CertificateArgs
        {
            KeyVaultId = azurerm_key_vault.Test.Id,
            CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs
            {
                IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs
                {
                    Name = "Self",
                },
                KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs
                {
                    Exportable = true,
                    KeySize = 2048,
                    KeyType = "RSA",
                    ReuseKey = true,
                },
                LifetimeActions = 
                {
                    new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionArgs
                    {
                        Action = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionActionArgs
                        {
                            ActionType = "AutoRenew",
                        },
                        Trigger = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionTriggerArgs
                        {
                            DaysBeforeExpiry = 30,
                        },
                    },
                },
                SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs
                {
                    ContentType = "application/x-pkcs12",
                },
                X509CertificateProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs
                {
                    KeyUsages = 
                    {
                        "cRLSign",
                        "dataEncipherment",
                        "digitalSignature",
                        "keyAgreement",
                        "keyCertSign",
                        "keyEncipherment",
                    },
                    Subject = "CN=api.example.com",
                    ValidityInMonths = 12,
                    SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs
                    {
                        DnsNames = 
                        {
                            "api.example.com",
                            "portal.example.com",
                        },
                    },
                },
            },
        });
        var exampleCustomDomain = new Azure.ApiManagement.CustomDomain("exampleCustomDomain", new Azure.ApiManagement.CustomDomainArgs
        {
            ApiManagementId = exampleService.Id,
            Gateways = 
            {
                new Azure.ApiManagement.Inputs.CustomDomainGatewayArgs
                {
                    HostName = "api.example.com",
                    KeyVaultId = azurerm_key_vault_certificate.Test.Secret_id,
                },
            },
            DeveloperPortals = 
            {
                new Azure.ApiManagement.Inputs.CustomDomainDeveloperPortalArgs
                {
                    HostName = "portal.example.com",
                    KeyVaultId = azurerm_key_vault_certificate.Test.Secret_id,
                },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement"
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleService, err := apimanagement.NewService(ctx, "exampleService", &apimanagement.ServiceArgs{
			Location:          pulumi.Any(azurerm_resource_group.Test.Location),
			ResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),
			PublisherName:     pulumi.String("pub1"),
			PublisherEmail:    pulumi.String("pub1@email.com"),
			SkuName:           pulumi.String("Developer_1"),
		})
		if err != nil {
			return err
		}
		_, err = keyvault.NewCertificate(ctx, "exampleCertificate", &keyvault.CertificateArgs{
			KeyVaultId: pulumi.Any(azurerm_key_vault.Test.Id),
			CertificatePolicy: &keyvault.CertificateCertificatePolicyArgs{
				IssuerParameters: &keyvault.CertificateCertificatePolicyIssuerParametersArgs{
					Name: pulumi.String("Self"),
				},
				KeyProperties: &keyvault.CertificateCertificatePolicyKeyPropertiesArgs{
					Exportable: pulumi.Bool(true),
					KeySize:    pulumi.Int(2048),
					KeyType:    pulumi.String("RSA"),
					ReuseKey:   pulumi.Bool(true),
				},
				LifetimeActions: keyvault.CertificateCertificatePolicyLifetimeActionArray{
					&keyvault.CertificateCertificatePolicyLifetimeActionArgs{
						Action: &keyvault.CertificateCertificatePolicyLifetimeActionActionArgs{
							ActionType: pulumi.String("AutoRenew"),
						},
						Trigger: &keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs{
							DaysBeforeExpiry: pulumi.Int(30),
						},
					},
				},
				SecretProperties: &keyvault.CertificateCertificatePolicySecretPropertiesArgs{
					ContentType: pulumi.String("application/x-pkcs12"),
				},
				X509CertificateProperties: &keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs{
					KeyUsages: pulumi.StringArray{
						pulumi.String("cRLSign"),
						pulumi.String("dataEncipherment"),
						pulumi.String("digitalSignature"),
						pulumi.String("keyAgreement"),
						pulumi.String("keyCertSign"),
						pulumi.String("keyEncipherment"),
					},
					Subject:          pulumi.String("CN=api.example.com"),
					ValidityInMonths: pulumi.Int(12),
					SubjectAlternativeNames: &keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs{
						DnsNames: pulumi.StringArray{
							pulumi.String("api.example.com"),
							pulumi.String("portal.example.com"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = apimanagement.NewCustomDomain(ctx, "exampleCustomDomain", &apimanagement.CustomDomainArgs{
			ApiManagementId: exampleService.ID(),
			Gateways: apimanagement.CustomDomainGatewayArray{
				&apimanagement.CustomDomainGatewayArgs{
					HostName:   pulumi.String("api.example.com"),
					KeyVaultId: pulumi.Any(azurerm_key_vault_certificate.Test.Secret_id),
				},
			},
			DeveloperPortals: apimanagement.CustomDomainDeveloperPortalArray{
				&apimanagement.CustomDomainDeveloperPortalArgs{
					HostName:   pulumi.String("portal.example.com"),
					KeyVaultId: pulumi.Any(azurerm_key_vault_certificate.Test.Secret_id),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
            .location("West Europe")
            .build());

        var exampleService = new Service("exampleService", ServiceArgs.builder()        
            .location(azurerm_resource_group.getTest().getLocation())
            .resourceGroupName(azurerm_resource_group.getTest().getName())
            .publisherName("pub1")
            .publisherEmail("pub1@email.com")
            .skuName("Developer_1")
            .build());

        var exampleCertificate = new Certificate("exampleCertificate", CertificateArgs.builder()        
            .keyVaultId(azurerm_key_vault.getTest().getId())
            .certificatePolicy(CertificateCertificatePolicy.builder()
                .issuerParameters(CertificateCertificatePolicyIssuerParameters.builder()
                    .name("Self")
                    .build())
                .keyProperties(CertificateCertificatePolicyKeyProperties.builder()
                    .exportable(true)
                    .keySize(2048)
                    .keyType("RSA")
                    .reuseKey(true)
                    .build())
                .lifetimeActions(CertificateCertificatePolicyLifetimeAction.builder()
                    .action(CertificateCertificatePolicyLifetimeActionAction.builder()
                        .actionType("AutoRenew")
                        .build())
                    .trigger(CertificateCertificatePolicyLifetimeActionTrigger.builder()
                        .daysBeforeExpiry(30)
                        .build())
                    .build())
                .secretProperties(CertificateCertificatePolicySecretProperties.builder()
                    .contentType("application/x-pkcs12")
                    .build())
                .x509CertificateProperties(CertificateCertificatePolicyX509CertificateProperties.builder()
                    .keyUsages(                    
                        "cRLSign",
                        "dataEncipherment",
                        "digitalSignature",
                        "keyAgreement",
                        "keyCertSign",
                        "keyEncipherment")
                    .subject("CN=api.example.com")
                    .validityInMonths(12)
                    .subjectAlternativeNames(CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames.builder()
                        .dnsNames(                        
                            "api.example.com",
                            "portal.example.com")
                        .build())
                    .build())
                .build())
            .build());

        var exampleCustomDomain = new CustomDomain("exampleCustomDomain", CustomDomainArgs.builder()        
            .apiManagementId(exampleService.getId())
            .gateways(CustomDomainGateway.builder()
                .hostName("api.example.com")
                .keyVaultId(azurerm_key_vault_certificate.getTest().getSecret_id())
                .build())
            .developerPortals(CustomDomainDeveloperPortal.builder()
                .hostName("portal.example.com")
                .keyVaultId(azurerm_key_vault_certificate.getTest().getSecret_id())
                .build())
            .build());

        }
}
import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_service = azure.apimanagement.Service("exampleService",
    location=azurerm_resource_group["test"]["location"],
    resource_group_name=azurerm_resource_group["test"]["name"],
    publisher_name="pub1",
    publisher_email="pub1@email.com",
    sku_name="Developer_1")
example_certificate = azure.keyvault.Certificate("exampleCertificate",
    key_vault_id=azurerm_key_vault["test"]["id"],
    certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(
        issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(
            name="Self",
        ),
        key_properties=azure.keyvault.CertificateCertificatePolicyKeyPropertiesArgs(
            exportable=True,
            key_size=2048,
            key_type="RSA",
            reuse_key=True,
        ),
        lifetime_actions=[azure.keyvault.CertificateCertificatePolicyLifetimeActionArgs(
            action=azure.keyvault.CertificateCertificatePolicyLifetimeActionActionArgs(
                action_type="AutoRenew",
            ),
            trigger=azure.keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs(
                days_before_expiry=30,
            ),
        )],
        secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(
            content_type="application/x-pkcs12",
        ),
        x509_certificate_properties=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs(
            key_usages=[
                "cRLSign",
                "dataEncipherment",
                "digitalSignature",
                "keyAgreement",
                "keyCertSign",
                "keyEncipherment",
            ],
            subject="CN=api.example.com",
            validity_in_months=12,
            subject_alternative_names=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs(
                dns_names=[
                    "api.example.com",
                    "portal.example.com",
                ],
            ),
        ),
    ))
example_custom_domain = azure.apimanagement.CustomDomain("exampleCustomDomain",
    api_management_id=example_service.id,
    gateways=[azure.apimanagement.CustomDomainGatewayArgs(
        host_name="api.example.com",
        key_vault_id=azurerm_key_vault_certificate["test"]["secret_id"],
    )],
    developer_portals=[azure.apimanagement.CustomDomainDeveloperPortalArgs(
        host_name="portal.example.com",
        key_vault_id=azurerm_key_vault_certificate["test"]["secret_id"],
    )])
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleService = new azure.apimanagement.Service("exampleService", {
    location: azurerm_resource_group.test.location,
    resourceGroupName: azurerm_resource_group.test.name,
    publisherName: "pub1",
    publisherEmail: "pub1@email.com",
    skuName: "Developer_1",
});
const exampleCertificate = new azure.keyvault.Certificate("exampleCertificate", {
    keyVaultId: azurerm_key_vault.test.id,
    certificatePolicy: {
        issuerParameters: {
            name: "Self",
        },
        keyProperties: {
            exportable: true,
            keySize: 2048,
            keyType: "RSA",
            reuseKey: true,
        },
        lifetimeActions: [{
            action: {
                actionType: "AutoRenew",
            },
            trigger: {
                daysBeforeExpiry: 30,
            },
        }],
        secretProperties: {
            contentType: "application/x-pkcs12",
        },
        x509CertificateProperties: {
            keyUsages: [
                "cRLSign",
                "dataEncipherment",
                "digitalSignature",
                "keyAgreement",
                "keyCertSign",
                "keyEncipherment",
            ],
            subject: "CN=api.example.com",
            validityInMonths: 12,
            subjectAlternativeNames: {
                dnsNames: [
                    "api.example.com",
                    "portal.example.com",
                ],
            },
        },
    },
});
const exampleCustomDomain = new azure.apimanagement.CustomDomain("exampleCustomDomain", {
    apiManagementId: exampleService.id,
    gateways: [{
        hostName: "api.example.com",
        keyVaultId: azurerm_key_vault_certificate.test.secret_id,
    }],
    developerPortals: [{
        hostName: "portal.example.com",
        keyVaultId: azurerm_key_vault_certificate.test.secret_id,
    }],
});
resources:
  exampleResourceGroup:
    type: azure:core:ResourceGroup
    properties:
      location: West Europe
  exampleService:
    type: azure:apimanagement:Service
    properties:
      location: ${azurerm_resource_group.test.location}
      resourceGroupName: ${azurerm_resource_group.test.name}
      publisherName: pub1
      publisherEmail: pub1@email.com
      skuName: Developer_1
  exampleCertificate:
    type: azure:keyvault:Certificate
    properties:
      keyVaultId: ${azurerm_key_vault.test.id}
      certificatePolicy:
        issuerParameters:
          name: Self
        keyProperties:
          exportable: true
          keySize: 2048
          keyType: RSA
          reuseKey: true
        lifetimeActions:
          - action:
              actionType: AutoRenew
            trigger:
              daysBeforeExpiry: 30
        secretProperties:
          contentType: application/x-pkcs12
        x509CertificateProperties:
          keyUsages:
            - cRLSign
            - dataEncipherment
            - digitalSignature
            - keyAgreement
            - keyCertSign
            - keyEncipherment
          subject: CN=api.example.com
          validityInMonths: 12
          subjectAlternativeNames:
            dnsNames:
              - api.example.com
              - portal.example.com
  exampleCustomDomain:
    type: azure:apimanagement:CustomDomain
    properties:
      apiManagementId: ${exampleService.id}
      gateways:
        - hostName: api.example.com
          keyVaultId: ${azurerm_key_vault_certificate.test.secret_id}
      developerPortals:
        - hostName: portal.example.com
          keyVaultId: ${azurerm_key_vault_certificate.test.secret_id}

Create a CustomDomain Resource

new CustomDomain(name: string, args: CustomDomainArgs, opts?: CustomResourceOptions);
@overload
def CustomDomain(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 api_management_id: Optional[str] = None,
                 developer_portals: Optional[Sequence[CustomDomainDeveloperPortalArgs]] = None,
                 gateways: Optional[Sequence[CustomDomainGatewayArgs]] = None,
                 managements: Optional[Sequence[CustomDomainManagementArgs]] = None,
                 portals: Optional[Sequence[CustomDomainPortalArgs]] = None,
                 scms: Optional[Sequence[CustomDomainScmArgs]] = None)
@overload
def CustomDomain(resource_name: str,
                 args: CustomDomainArgs,
                 opts: Optional[ResourceOptions] = None)
func NewCustomDomain(ctx *Context, name string, args CustomDomainArgs, opts ...ResourceOption) (*CustomDomain, error)
public CustomDomain(string name, CustomDomainArgs args, CustomResourceOptions? opts = null)
public CustomDomain(String name, CustomDomainArgs args)
public CustomDomain(String name, CustomDomainArgs args, CustomResourceOptions options)
type: azure:apimanagement:CustomDomain
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args CustomDomainArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args CustomDomainArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args CustomDomainArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args CustomDomainArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args CustomDomainArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

CustomDomain Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The CustomDomain resource accepts the following input properties:

ApiManagementId string

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

DeveloperPortals List<CustomDomainDeveloperPortalArgs>

One or more developer_portal blocks as defined below.

Gateways List<CustomDomainGatewayArgs>

One or more gateway blocks as defined below.

Managements List<CustomDomainManagementArgs>

One or more management blocks as defined below.

Portals List<CustomDomainPortalArgs>

One or more portal blocks as defined below.

Scms List<CustomDomainScmArgs>

One or more scm blocks as defined below.

ApiManagementId string

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

DeveloperPortals []CustomDomainDeveloperPortalArgs

One or more developer_portal blocks as defined below.

Gateways []CustomDomainGatewayArgs

One or more gateway blocks as defined below.

Managements []CustomDomainManagementArgs

One or more management blocks as defined below.

Portals []CustomDomainPortalArgs

One or more portal blocks as defined below.

Scms []CustomDomainScmArgs

One or more scm blocks as defined below.

apiManagementId String

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

developerPortals List<CustomDomainDeveloperPortalArgs>

One or more developer_portal blocks as defined below.

gateways List<CustomDomainGatewayArgs>

One or more gateway blocks as defined below.

managements List<CustomDomainManagementArgs>

One or more management blocks as defined below.

portals List<CustomDomainPortalArgs>

One or more portal blocks as defined below.

scms List<CustomDomainScmArgs>

One or more scm blocks as defined below.

apiManagementId string

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

developerPortals CustomDomainDeveloperPortalArgs[]

One or more developer_portal blocks as defined below.

gateways CustomDomainGatewayArgs[]

One or more gateway blocks as defined below.

managements CustomDomainManagementArgs[]

One or more management blocks as defined below.

portals CustomDomainPortalArgs[]

One or more portal blocks as defined below.

scms CustomDomainScmArgs[]

One or more scm blocks as defined below.

api_management_id str

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

developer_portals Sequence[CustomDomainDeveloperPortalArgs]

One or more developer_portal blocks as defined below.

gateways Sequence[CustomDomainGatewayArgs]

One or more gateway blocks as defined below.

managements Sequence[CustomDomainManagementArgs]

One or more management blocks as defined below.

portals Sequence[CustomDomainPortalArgs]

One or more portal blocks as defined below.

scms Sequence[CustomDomainScmArgs]

One or more scm blocks as defined below.

apiManagementId String

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

developerPortals List<Property Map>

One or more developer_portal blocks as defined below.

gateways List<Property Map>

One or more gateway blocks as defined below.

managements List<Property Map>

One or more management blocks as defined below.

portals List<Property Map>

One or more portal blocks as defined below.

scms List<Property Map>

One or more scm blocks as defined below.

Outputs

All input properties are implicitly available as output properties. Additionally, the CustomDomain resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up an Existing CustomDomain Resource

Get an existing CustomDomain resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: CustomDomainState, opts?: CustomResourceOptions): CustomDomain
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        api_management_id: Optional[str] = None,
        developer_portals: Optional[Sequence[CustomDomainDeveloperPortalArgs]] = None,
        gateways: Optional[Sequence[CustomDomainGatewayArgs]] = None,
        managements: Optional[Sequence[CustomDomainManagementArgs]] = None,
        portals: Optional[Sequence[CustomDomainPortalArgs]] = None,
        scms: Optional[Sequence[CustomDomainScmArgs]] = None) -> CustomDomain
func GetCustomDomain(ctx *Context, name string, id IDInput, state *CustomDomainState, opts ...ResourceOption) (*CustomDomain, error)
public static CustomDomain Get(string name, Input<string> id, CustomDomainState? state, CustomResourceOptions? opts = null)
public static CustomDomain get(String name, Output<String> id, CustomDomainState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ApiManagementId string

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

DeveloperPortals List<CustomDomainDeveloperPortalArgs>

One or more developer_portal blocks as defined below.

Gateways List<CustomDomainGatewayArgs>

One or more gateway blocks as defined below.

Managements List<CustomDomainManagementArgs>

One or more management blocks as defined below.

Portals List<CustomDomainPortalArgs>

One or more portal blocks as defined below.

Scms List<CustomDomainScmArgs>

One or more scm blocks as defined below.

ApiManagementId string

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

DeveloperPortals []CustomDomainDeveloperPortalArgs

One or more developer_portal blocks as defined below.

Gateways []CustomDomainGatewayArgs

One or more gateway blocks as defined below.

Managements []CustomDomainManagementArgs

One or more management blocks as defined below.

Portals []CustomDomainPortalArgs

One or more portal blocks as defined below.

Scms []CustomDomainScmArgs

One or more scm blocks as defined below.

apiManagementId String

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

developerPortals List<CustomDomainDeveloperPortalArgs>

One or more developer_portal blocks as defined below.

gateways List<CustomDomainGatewayArgs>

One or more gateway blocks as defined below.

managements List<CustomDomainManagementArgs>

One or more management blocks as defined below.

portals List<CustomDomainPortalArgs>

One or more portal blocks as defined below.

scms List<CustomDomainScmArgs>

One or more scm blocks as defined below.

apiManagementId string

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

developerPortals CustomDomainDeveloperPortalArgs[]

One or more developer_portal blocks as defined below.

gateways CustomDomainGatewayArgs[]

One or more gateway blocks as defined below.

managements CustomDomainManagementArgs[]

One or more management blocks as defined below.

portals CustomDomainPortalArgs[]

One or more portal blocks as defined below.

scms CustomDomainScmArgs[]

One or more scm blocks as defined below.

api_management_id str

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

developer_portals Sequence[CustomDomainDeveloperPortalArgs]

One or more developer_portal blocks as defined below.

gateways Sequence[CustomDomainGatewayArgs]

One or more gateway blocks as defined below.

managements Sequence[CustomDomainManagementArgs]

One or more management blocks as defined below.

portals Sequence[CustomDomainPortalArgs]

One or more portal blocks as defined below.

scms Sequence[CustomDomainScmArgs]

One or more scm blocks as defined below.

apiManagementId String

The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.

developerPortals List<Property Map>

One or more developer_portal blocks as defined below.

gateways List<Property Map>

One or more gateway blocks as defined below.

managements List<Property Map>

One or more management blocks as defined below.

portals List<Property Map>

One or more portal blocks as defined below.

scms List<Property Map>

One or more scm blocks as defined below.

Supporting Types

CustomDomainDeveloperPortal

HostName string

The Hostname to use for the corresponding endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
HostName string

The Hostname to use for the corresponding endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
hostName String

The Hostname to use for the corresponding endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String
hostName string

The Hostname to use for the corresponding endpoint.

certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword string

The password associated with the certificate provided above.

expiry string
keyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId string
subject string
thumbprint string
host_name str

The Hostname to use for the corresponding endpoint.

certificate str

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificate_password str

The password associated with the certificate provided above.

expiry str
key_vault_id str

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiate_client_certificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

ssl_keyvault_identity_client_id str
subject str
thumbprint str
hostName String

The Hostname to use for the corresponding endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String

CustomDomainGateway

HostName string

The Hostname to use for the API Proxy Endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

DefaultSslBinding bool

Is the certificate associated with this Hostname the Default SSL Certificate? This is used when an SNI header isn't specified by a client. Defaults to false.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
HostName string

The Hostname to use for the API Proxy Endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

DefaultSslBinding bool

Is the certificate associated with this Hostname the Default SSL Certificate? This is used when an SNI header isn't specified by a client. Defaults to false.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
hostName String

The Hostname to use for the API Proxy Endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

defaultSslBinding Boolean

Is the certificate associated with this Hostname the Default SSL Certificate? This is used when an SNI header isn't specified by a client. Defaults to false.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String
hostName string

The Hostname to use for the API Proxy Endpoint.

certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword string

The password associated with the certificate provided above.

defaultSslBinding boolean

Is the certificate associated with this Hostname the Default SSL Certificate? This is used when an SNI header isn't specified by a client. Defaults to false.

expiry string
keyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId string
subject string
thumbprint string
host_name str

The Hostname to use for the API Proxy Endpoint.

certificate str

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificate_password str

The password associated with the certificate provided above.

default_ssl_binding bool

Is the certificate associated with this Hostname the Default SSL Certificate? This is used when an SNI header isn't specified by a client. Defaults to false.

expiry str
key_vault_id str

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiate_client_certificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

ssl_keyvault_identity_client_id str
subject str
thumbprint str
hostName String

The Hostname to use for the API Proxy Endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

defaultSslBinding Boolean

Is the certificate associated with this Hostname the Default SSL Certificate? This is used when an SNI header isn't specified by a client. Defaults to false.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String

CustomDomainManagement

HostName string

The Hostname to use for the corresponding endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
HostName string

The Hostname to use for the corresponding endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
hostName String

The Hostname to use for the corresponding endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String
hostName string

The Hostname to use for the corresponding endpoint.

certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword string

The password associated with the certificate provided above.

expiry string
keyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId string
subject string
thumbprint string
host_name str

The Hostname to use for the corresponding endpoint.

certificate str

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificate_password str

The password associated with the certificate provided above.

expiry str
key_vault_id str

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiate_client_certificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

ssl_keyvault_identity_client_id str
subject str
thumbprint str
hostName String

The Hostname to use for the corresponding endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String

CustomDomainPortal

HostName string

The Hostname to use for the corresponding endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
HostName string

The Hostname to use for the corresponding endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
hostName String

The Hostname to use for the corresponding endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String
hostName string

The Hostname to use for the corresponding endpoint.

certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword string

The password associated with the certificate provided above.

expiry string
keyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId string
subject string
thumbprint string
host_name str

The Hostname to use for the corresponding endpoint.

certificate str

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificate_password str

The password associated with the certificate provided above.

expiry str
key_vault_id str

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiate_client_certificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

ssl_keyvault_identity_client_id str
subject str
thumbprint str
hostName String

The Hostname to use for the corresponding endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String

CustomDomainScm

HostName string

The Hostname to use for the corresponding endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
HostName string

The Hostname to use for the corresponding endpoint.

Certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

CertificatePassword string

The password associated with the certificate provided above.

Expiry string
KeyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

NegotiateClientCertificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

SslKeyvaultIdentityClientId string
Subject string
Thumbprint string
hostName String

The Hostname to use for the corresponding endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String
hostName string

The Hostname to use for the corresponding endpoint.

certificate string

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword string

The password associated with the certificate provided above.

expiry string
keyVaultId string

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId string
subject string
thumbprint string
host_name str

The Hostname to use for the corresponding endpoint.

certificate str

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificate_password str

The password associated with the certificate provided above.

expiry str
key_vault_id str

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiate_client_certificate bool

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

ssl_keyvault_identity_client_id str
subject str
thumbprint str
hostName String

The Hostname to use for the corresponding endpoint.

certificate String

The Base64 Encoded Certificate. (Mutually exclusive with key_vault_id.)

certificatePassword String

The password associated with the certificate provided above.

expiry String
keyVaultId String

The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.

negotiateClientCertificate Boolean

Should Client Certificate Negotiation be enabled for this Hostname? Defaults to false.

sslKeyvaultIdentityClientId String
subject String
thumbprint String

Import

API Management Custom Domains can be imported using the resource id, e.g.

 $ pulumi import azure:apimanagement/customDomain:CustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/customDomains/default

Package Details

Repository
https://github.com/pulumi/pulumi-azure
License
Apache-2.0
Notes

This Pulumi package is based on the azurerm Terraform Provider.