FrontdoorCustomDomainAssociationArgs

data class FrontdoorCustomDomainAssociationArgs(val cdnFrontdoorCustomDomainId: Output<String>? = null, val cdnFrontdoorRouteIds: Output<List<String>>? = null) : ConvertibleToJava<FrontdoorCustomDomainAssociationArgs>

Manages the association between a Front Door (standard/premium) Custom Domain and one or more Front Door (standard/premium) Routes.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.dns.Zone;
import com.pulumi.azure.dns.ZoneArgs;
import com.pulumi.azure.cdn.FrontdoorProfile;
import com.pulumi.azure.cdn.FrontdoorProfileArgs;
import com.pulumi.azure.cdn.FrontdoorOriginGroup;
import com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;
import com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupHealthProbeArgs;
import com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;
import com.pulumi.azure.cdn.FrontdoorOrigin;
import com.pulumi.azure.cdn.FrontdoorOriginArgs;
import com.pulumi.azure.cdn.FrontdoorEndpoint;
import com.pulumi.azure.cdn.FrontdoorEndpointArgs;
import com.pulumi.azure.cdn.FrontdoorRuleSet;
import com.pulumi.azure.cdn.FrontdoorRuleSetArgs;
import com.pulumi.azure.cdn.FrontdoorCustomDomain;
import com.pulumi.azure.cdn.FrontdoorCustomDomainArgs;
import com.pulumi.azure.cdn.inputs.FrontdoorCustomDomainTlsArgs;
import com.pulumi.azure.cdn.FrontdoorRoute;
import com.pulumi.azure.cdn.FrontdoorRouteArgs;
import com.pulumi.azure.cdn.FrontdoorCustomDomainAssociation;
import com.pulumi.azure.cdn.FrontdoorCustomDomainAssociationArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-cdn-frontdoor")
.location("West Europe")
.build());
var exampleZone = new Zone("exampleZone", ZoneArgs.builder()
.name("domain.com")
.resourceGroupName(example.name())
.build());
var exampleFrontdoorProfile = new FrontdoorProfile("exampleFrontdoorProfile", FrontdoorProfileArgs.builder()
.name("example-profile")
.resourceGroupName(example.name())
.skuName("Standard_AzureFrontDoor")
.build());
var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup("exampleFrontdoorOriginGroup", FrontdoorOriginGroupArgs.builder()
.name("example-origin-group")
.cdnFrontdoorProfileId(exampleFrontdoorProfile.id())
.sessionAffinityEnabled(true)
.restoreTrafficTimeToHealedOrNewEndpointInMinutes(10)
.healthProbe(FrontdoorOriginGroupHealthProbeArgs.builder()
.intervalInSeconds(240)
.path("/healthProbe")
.protocol("Https")
.requestType("HEAD")
.build())
.loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()
.additionalLatencyInMilliseconds(0)
.sampleSize(16)
.successfulSamplesRequired(3)
.build())
.build());
var exampleFrontdoorOrigin = new FrontdoorOrigin("exampleFrontdoorOrigin", FrontdoorOriginArgs.builder()
.name("example-origin")
.cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())
.enabled(true)
.certificateNameCheckEnabled(false)
.hostName("contoso.com")
.httpPort(80)
.httpsPort(443)
.originHostHeader("www.contoso.com")
.priority(1)
.weight(1)
.build());
var exampleFrontdoorEndpoint = new FrontdoorEndpoint("exampleFrontdoorEndpoint", FrontdoorEndpointArgs.builder()
.name("example-endpoint")
.cdnFrontdoorProfileId(exampleFrontdoorProfile.id())
.build());
var exampleFrontdoorRuleSet = new FrontdoorRuleSet("exampleFrontdoorRuleSet", FrontdoorRuleSetArgs.builder()
.name("ExampleRuleSet")
.cdnFrontdoorProfileId(exampleFrontdoorProfile.id())
.build());
var exampleFrontdoorCustomDomain = new FrontdoorCustomDomain("exampleFrontdoorCustomDomain", FrontdoorCustomDomainArgs.builder()
.name("example-customDomain")
.cdnFrontdoorProfileId(exampleFrontdoorProfile.id())
.dnsZoneId(exampleZone.id())
.hostName(StdFunctions.join().applyValue(invoke -> invoke.result()))
.tls(FrontdoorCustomDomainTlsArgs.builder()
.certificateType("ManagedCertificate")
.minimumTlsVersion("TLS12")
.build())
.build());
var exampleFrontdoorRoute = new FrontdoorRoute("exampleFrontdoorRoute", FrontdoorRouteArgs.builder()
.name("example-route")
.cdnFrontdoorEndpointId(exampleFrontdoorEndpoint.id())
.cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())
.cdnFrontdoorOriginIds(exampleFrontdoorOrigin.id())
.cdnFrontdoorRuleSetIds(exampleFrontdoorRuleSet.id())
.enabled(true)
.forwardingProtocol("HttpsOnly")
.httpsRedirectEnabled(true)
.patternsToMatches("/*")
.supportedProtocols(
"Http",
"Https")
.cdnFrontdoorCustomDomainIds(exampleFrontdoorCustomDomain.id())
.linkToDefaultDomain(false)
.build());
var exampleFrontdoorCustomDomainAssociation = new FrontdoorCustomDomainAssociation("exampleFrontdoorCustomDomainAssociation", FrontdoorCustomDomainAssociationArgs.builder()
.cdnFrontdoorCustomDomainId(exampleFrontdoorCustomDomain.id())
.cdnFrontdoorRouteIds(exampleFrontdoorRoute.id())
.build());
}
}

Import

Front Door Custom Domain Associations can be imported using the resource id, e.g.

$ pulumi import azure:cdn/frontdoorCustomDomainAssociation:FrontdoorCustomDomainAssociation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/associations/assoc1

Constructors

Link copied to clipboard
fun FrontdoorCustomDomainAssociationArgs(cdnFrontdoorCustomDomainId: Output<String>? = null, cdnFrontdoorRouteIds: Output<List<String>>? = null)

Functions

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

Properties

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

The ID of the Front Door Custom Domain that should be managed by the association resource. Changing this forces a new association resource to be created.

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

One or more IDs of the Front Door Route to which the Front Door Custom Domain is associated with.