EndpointArgs

data class EndpointArgs(val contentTypesToCompresses: Output<List<String>>? = null, val deliveryRules: Output<List<EndpointDeliveryRuleArgs>>? = null, val geoFilters: Output<List<EndpointGeoFilterArgs>>? = null, val globalDeliveryRule: Output<EndpointGlobalDeliveryRuleArgs>? = null, val isCompressionEnabled: Output<Boolean>? = null, val isHttpAllowed: Output<Boolean>? = null, val isHttpsAllowed: Output<Boolean>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val optimizationType: Output<String>? = null, val originHostHeader: Output<String>? = null, val originPath: Output<String>? = null, val origins: Output<List<EndpointOriginArgs>>? = null, val probePath: Output<String>? = null, val profileName: Output<String>? = null, val querystringCachingBehaviour: Output<String>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<EndpointArgs>

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.

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_Verizon",
});
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_Verizon")
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_Verizon",
});
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_Verizon"),
})
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_Verizon")
.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_Verizon
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

Link copied to clipboard
constructor(contentTypesToCompresses: Output<List<String>>? = null, deliveryRules: Output<List<EndpointDeliveryRuleArgs>>? = null, geoFilters: Output<List<EndpointGeoFilterArgs>>? = null, globalDeliveryRule: Output<EndpointGlobalDeliveryRuleArgs>? = null, isCompressionEnabled: Output<Boolean>? = null, isHttpAllowed: Output<Boolean>? = null, isHttpsAllowed: Output<Boolean>? = null, location: Output<String>? = null, name: Output<String>? = null, optimizationType: Output<String>? = null, originHostHeader: Output<String>? = null, originPath: Output<String>? = null, origins: Output<List<EndpointOriginArgs>>? = null, probePath: Output<String>? = null, profileName: Output<String>? = null, querystringCachingBehaviour: Output<String>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

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

An array of strings that indicates a content types on which compression will be applied. The value for the elements should be MIME types.

Link copied to clipboard

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.

Link copied to clipboard
val geoFilters: Output<List<EndpointGeoFilterArgs>>? = null

A set of Geo Filters for this CDN Endpoint. Each geo_filter block supports fields documented below.

Link copied to clipboard

Actions that are valid for all resources regardless of any conditions. A global_delivery_rule block as defined below.

Link copied to clipboard
val isCompressionEnabled: Output<Boolean>? = null

Indicates whether compression is to be enabled.

Link copied to clipboard
val isHttpAllowed: Output<Boolean>? = null

Specifies if http allowed. Defaults to true.

Link copied to clipboard
val isHttpsAllowed: Output<Boolean>? = null

Specifies if https allowed. Defaults to true.

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

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

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

Specifies the name of the CDN Endpoint. Changing this forces a new resource to be created.

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

What types of optimization should this CDN Endpoint optimize for? Possible values include DynamicSiteAcceleration, GeneralMediaStreaming, GeneralWebDelivery, LargeFileDownload and VideoOnDemandMediaStreaming.

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

The host header CDN provider will send along with content requests to origins.

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

The path used at for origin requests.

Link copied to clipboard
val origins: Output<List<EndpointOriginArgs>>? = null

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.

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

the path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin_path.

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

The CDN Profile to which to attach the CDN Endpoint. Changing this forces a new resource to be created.

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

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.

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

The name of the resource group in which to create the CDN Endpoint. Changing this forces a new resource to be created.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the resource.

Functions

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