Endpoint Args
A CDN Endpoint is the entity within a CDN Profile containing configuration information regarding caching behaviours and origins. The CDN Endpoint is exposed using the URL format <endpointname>.azureedge.net
. !>Note: Azure rolled out a breaking change on Friday 9th April 2021 which may cause issues with the CDN/FrontDoor resources. More information is available in this GitHub issue - unfortunately this may necessitate a breaking change to the CDN and FrontDoor resources, more information will be posted in the GitHub issue as the necessary changes are identified. !>Note: The CDN services from Edgio(formerly Verizon) was shut down on 15 January 2025 and is no longer available. !>Note: Support for CDN services from Akamai was removed on 31 October 2023.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleProfile = new azure.cdn.Profile("example", {
name: "example-cdn",
location: example.location,
resourceGroupName: example.name,
sku: "Standard_Microsoft",
});
const exampleEndpoint = new azure.cdn.Endpoint("example", {
name: "example",
profileName: exampleProfile.name,
location: example.location,
resourceGroupName: example.name,
origins: [{
name: "example",
hostName: "www.contoso.com",
}],
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_profile = azure.cdn.Profile("example",
name="example-cdn",
location=example.location,
resource_group_name=example.name,
sku="Standard_Microsoft")
example_endpoint = azure.cdn.Endpoint("example",
name="example",
profile_name=example_profile.name,
location=example.location,
resource_group_name=example.name,
origins=[{
"name": "example",
"host_name": "www.contoso.com",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleProfile = new Azure.Cdn.Profile("example", new()
{
Name = "example-cdn",
Location = example.Location,
ResourceGroupName = example.Name,
Sku = "Standard_Microsoft",
});
var exampleEndpoint = new Azure.Cdn.Endpoint("example", new()
{
Name = "example",
ProfileName = exampleProfile.Name,
Location = example.Location,
ResourceGroupName = example.Name,
Origins = new[]
{
new Azure.Cdn.Inputs.EndpointOriginArgs
{
Name = "example",
HostName = "www.contoso.com",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleProfile, err := cdn.NewProfile(ctx, "example", &cdn.ProfileArgs{
Name: pulumi.String("example-cdn"),
Location: example.Location,
ResourceGroupName: example.Name,
Sku: pulumi.String("Standard_Microsoft"),
})
if err != nil {
return err
}
_, err = cdn.NewEndpoint(ctx, "example", &cdn.EndpointArgs{
Name: pulumi.String("example"),
ProfileName: exampleProfile.Name,
Location: example.Location,
ResourceGroupName: example.Name,
Origins: cdn.EndpointOriginArray{
&cdn.EndpointOriginArgs{
Name: pulumi.String("example"),
HostName: pulumi.String("www.contoso.com"),
},
},
})
if err != nil {
return err
}
return nil
})
}
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.cdn.Profile;
import com.pulumi.azure.cdn.ProfileArgs;
import com.pulumi.azure.cdn.Endpoint;
import com.pulumi.azure.cdn.EndpointArgs;
import com.pulumi.azure.cdn.inputs.EndpointOriginArgs;
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-resources")
.location("West Europe")
.build());
var exampleProfile = new Profile("exampleProfile", ProfileArgs.builder()
.name("example-cdn")
.location(example.location())
.resourceGroupName(example.name())
.sku("Standard_Microsoft")
.build());
var exampleEndpoint = new Endpoint("exampleEndpoint", EndpointArgs.builder()
.name("example")
.profileName(exampleProfile.name())
.location(example.location())
.resourceGroupName(example.name())
.origins(EndpointOriginArgs.builder()
.name("example")
.hostName("www.contoso.com")
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleProfile:
type: azure:cdn:Profile
name: example
properties:
name: example-cdn
location: ${example.location}
resourceGroupName: ${example.name}
sku: Standard_Microsoft
exampleEndpoint:
type: azure:cdn:Endpoint
name: example
properties:
name: example
profileName: ${exampleProfile.name}
location: ${example.location}
resourceGroupName: ${example.name}
origins:
- name: example
hostName: www.contoso.com
Import
CDN Endpoints can be imported using the resource id
, e.g.
$ pulumi import azure:cdn/endpoint:Endpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Cdn/profiles/myprofile1/endpoints/myendpoint1
Constructors
Properties
An array of strings that indicates a content types on which compression will be applied. The value for the elements should be MIME types.
Rules for the rules engine. An endpoint can contain up until 4 of those rules that consist of conditions and actions. A delivery_rule
blocks as defined below.
A set of Geo Filters for this CDN Endpoint. Each geo_filter
block supports fields documented below.
Actions that are valid for all resources regardless of any conditions. A global_delivery_rule
block as defined below.
Indicates whether compression is to be enabled.
Specifies if http allowed. Defaults to true
.
Specifies if https allowed. Defaults to true
.
What types of optimization should this CDN Endpoint optimize for? Possible values include DynamicSiteAcceleration
, GeneralMediaStreaming
, GeneralWebDelivery
, LargeFileDownload
and VideoOnDemandMediaStreaming
.
The host header CDN provider will send along with content requests to origins.
The path used at for origin requests.
The set of origins of the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options. Each origin
block supports fields documented below. Changing this forces a new resource to be created.
The CDN Profile to which to attach the CDN Endpoint. Changing this forces a new resource to be created.
Sets query string caching behavior. Allowed values are IgnoreQueryString
, BypassCaching
and UseQueryString
. NotSet
value can be used for Premium Verizon
CDN profile. Defaults to IgnoreQueryString
.
The name of the resource group in which to create the CDN Endpoint. Changing this forces a new resource to be created.