Endpoint
CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The CDN endpoint uses the URL format 
Example Usage
Endpoints_Create
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var endpoint = new AzureNative.Cdn.Endpoint("endpoint", new()
    {
        ContentTypesToCompress = new[]
        {
            "text/html",
            "application/octet-stream",
        },
        DefaultOriginGroup = new AzureNative.Cdn.Inputs.ResourceReferenceArgs
        {
            Id = "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
        },
        DeliveryPolicy = new AzureNative.Cdn.Inputs.EndpointPropertiesUpdateParametersDeliveryPolicyArgs
        {
            Description = "Test description for a policy.",
            Rules = new[]
            {
                new AzureNative.Cdn.Inputs.DeliveryRuleArgs
                {
                    Actions =
                    {
                        new AzureNative.Cdn.Inputs.DeliveryRuleCacheExpirationActionArgs
                        {
                            Name = "CacheExpiration",
                            Parameters = new AzureNative.Cdn.Inputs.CacheExpirationActionParametersArgs
                            {
                                CacheBehavior = "Override",
                                CacheDuration = "10:10:09",
                                CacheType = "All",
                                TypeName = "DeliveryRuleCacheExpirationActionParameters",
                            },
                        },
                        new AzureNative.Cdn.Inputs.DeliveryRuleResponseHeaderActionArgs
                        {
                            Name = "ModifyResponseHeader",
                            Parameters = new AzureNative.Cdn.Inputs.HeaderActionParametersArgs
                            {
                                HeaderAction = "Overwrite",
                                HeaderName = "Access-Control-Allow-Origin",
                                TypeName = "DeliveryRuleHeaderActionParameters",
                                Value = "*",
                            },
                        },
                        new AzureNative.Cdn.Inputs.DeliveryRuleRequestHeaderActionArgs
                        {
                            Name = "ModifyRequestHeader",
                            Parameters = new AzureNative.Cdn.Inputs.HeaderActionParametersArgs
                            {
                                HeaderAction = "Overwrite",
                                HeaderName = "Accept-Encoding",
                                TypeName = "DeliveryRuleHeaderActionParameters",
                                Value = "gzip",
                            },
                        },
                    },
                    Conditions = new[]
                    {
                        new AzureNative.Cdn.Inputs.DeliveryRuleRemoteAddressConditionArgs
                        {
                            Name = "RemoteAddress",
                            Parameters = new AzureNative.Cdn.Inputs.RemoteAddressMatchConditionParametersArgs
                            {
                                MatchValues = new[]
                                {
                                    "192.168.1.0/24",
                                    "10.0.0.0/24",
                                },
                                NegateCondition = true,
                                Operator = "IPMatch",
                                TypeName = "DeliveryRuleRemoteAddressConditionParameters",
                            },
                        },
                    },
                    Name = "rule1",
                    Order = 1,
                },
            },
        },
        EndpointName = "endpoint1",
        IsCompressionEnabled = true,
        IsHttpAllowed = true,
        IsHttpsAllowed = true,
        Location = "WestUs",
        OriginGroups = new[]
        {
            new AzureNative.Cdn.Inputs.DeepCreatedOriginGroupArgs
            {
                HealthProbeSettings = new AzureNative.Cdn.Inputs.HealthProbeParametersArgs
                {
                    ProbeIntervalInSeconds = 120,
                    ProbePath = "/health.aspx",
                    ProbeProtocol = AzureNative.Cdn.ProbeProtocol.Http,
                    ProbeRequestType = AzureNative.Cdn.HealthProbeRequestType.GET,
                },
                Name = "originGroup1",
                Origins = new[]
                {
                    new AzureNative.Cdn.Inputs.ResourceReferenceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1",
                    },
                    new AzureNative.Cdn.Inputs.ResourceReferenceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2",
                    },
                },
                ResponseBasedOriginErrorDetectionSettings = new AzureNative.Cdn.Inputs.ResponseBasedOriginErrorDetectionParametersArgs
                {
                    ResponseBasedDetectedErrorTypes = AzureNative.Cdn.ResponseBasedDetectedErrorTypes.TcpErrorsOnly,
                    ResponseBasedFailoverThresholdPercentage = 10,
                },
            },
        },
        OriginHostHeader = "www.bing.com",
        OriginPath = "/photos",
        Origins = new[]
        {
            new AzureNative.Cdn.Inputs.DeepCreatedOriginArgs
            {
                Enabled = true,
                HostName = "www.someDomain1.net",
                HttpPort = 80,
                HttpsPort = 443,
                Name = "origin1",
                OriginHostHeader = "www.someDomain1.net",
                Priority = 1,
                Weight = 50,
            },
            new AzureNative.Cdn.Inputs.DeepCreatedOriginArgs
            {
                Enabled = true,
                HostName = "www.someDomain2.net",
                HttpPort = 80,
                HttpsPort = 443,
                Name = "origin2",
                OriginHostHeader = "www.someDomain2.net",
                Priority = 2,
                Weight = 50,
            },
        },
        ProfileName = "profile1",
        QueryStringCachingBehavior = AzureNative.Cdn.QueryStringCachingBehavior.BypassCaching,
        ResourceGroupName = "RG",
        Tags =
        {
            { "key1", "value1" },
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/cdn/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cdn.NewEndpoint(ctx, "endpoint", &cdn.EndpointArgs{
			ContentTypesToCompress: pulumi.StringArray{
				pulumi.String("text/html"),
				pulumi.String("application/octet-stream"),
			},
			DefaultOriginGroup: &cdn.ResourceReferenceArgs{
				Id: pulumi.String("/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"),
			},
			DeliveryPolicy: cdn.EndpointPropertiesUpdateParametersResponseDeliveryPolicy{
				Description: pulumi.String("Test description for a policy."),
				Rules: []cdn.DeliveryRuleArgs{
					{
						Actions: pulumi.Array{
							{
								Name: "CacheExpiration",
								Parameters: {
									CacheBehavior: "Override",
									CacheDuration: "10:10:09",
									CacheType:     "All",
									TypeName:      "DeliveryRuleCacheExpirationActionParameters",
								},
							},
							{
								Name: "ModifyResponseHeader",
								Parameters: {
									HeaderAction: "Overwrite",
									HeaderName:   "Access-Control-Allow-Origin",
									TypeName:     "DeliveryRuleHeaderActionParameters",
									Value:        "*",
								},
							},
							{
								Name: "ModifyRequestHeader",
								Parameters: {
									HeaderAction: "Overwrite",
									HeaderName:   "Accept-Encoding",
									TypeName:     "DeliveryRuleHeaderActionParameters",
									Value:        "gzip",
								},
							},
						},
						Conditions: pulumi.Array{
							{
								Name: "RemoteAddress",
								Parameters: {
									MatchValues: []string{
										"192.168.1.0/24",
										"10.0.0.0/24",
									},
									NegateCondition: true,
									Operator:        "IPMatch",
									TypeName:        "DeliveryRuleRemoteAddressConditionParameters",
								},
							},
						},
						Name:  pulumi.String("rule1"),
						Order: pulumi.Int(1),
					},
				},
			},
			EndpointName:         pulumi.String("endpoint1"),
			IsCompressionEnabled: pulumi.Bool(true),
			IsHttpAllowed:        pulumi.Bool(true),
			IsHttpsAllowed:       pulumi.Bool(true),
			Location:             pulumi.String("WestUs"),
			OriginGroups: []cdn.DeepCreatedOriginGroupArgs{
				{
					HealthProbeSettings: {
						ProbeIntervalInSeconds: pulumi.Int(120),
						ProbePath:              pulumi.String("/health.aspx"),
						ProbeProtocol:          cdn.ProbeProtocolHttp,
						ProbeRequestType:       cdn.HealthProbeRequestTypeGET,
					},
					Name: pulumi.String("originGroup1"),
					Origins: cdn.ResourceReferenceArray{
						{
							Id: pulumi.String("/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"),
						},
						{
							Id: pulumi.String("/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"),
						},
					},
					ResponseBasedOriginErrorDetectionSettings: {
						ResponseBasedDetectedErrorTypes:          cdn.ResponseBasedDetectedErrorTypesTcpErrorsOnly,
						ResponseBasedFailoverThresholdPercentage: pulumi.Int(10),
					},
				},
			},
			OriginHostHeader: pulumi.String("www.bing.com"),
			OriginPath:       pulumi.String("/photos"),
			Origins: []cdn.DeepCreatedOriginArgs{
				{
					Enabled:          pulumi.Bool(true),
					HostName:         pulumi.String("www.someDomain1.net"),
					HttpPort:         pulumi.Int(80),
					HttpsPort:        pulumi.Int(443),
					Name:             pulumi.String("origin1"),
					OriginHostHeader: pulumi.String("www.someDomain1.net"),
					Priority:         pulumi.Int(1),
					Weight:           pulumi.Int(50),
				},
				{
					Enabled:          pulumi.Bool(true),
					HostName:         pulumi.String("www.someDomain2.net"),
					HttpPort:         pulumi.Int(80),
					HttpsPort:        pulumi.Int(443),
					Name:             pulumi.String("origin2"),
					OriginHostHeader: pulumi.String("www.someDomain2.net"),
					Priority:         pulumi.Int(2),
					Weight:           pulumi.Int(50),
				},
			},
			ProfileName:                pulumi.String("profile1"),
			QueryStringCachingBehavior: cdn.QueryStringCachingBehaviorBypassCaching,
			ResourceGroupName:          pulumi.String("RG"),
			Tags: pulumi.StringMap{
				"key1": pulumi.String("value1"),
			},
		})
		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.azurenative.cdn.Endpoint;
import com.pulumi.azurenative.cdn.EndpointArgs;
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 endpoint = new Endpoint("endpoint", EndpointArgs.builder()
            .contentTypesToCompress(
                "text/html",
                "application/octet-stream")
            .defaultOriginGroup(Map.of("id", "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"))
            .deliveryPolicy(Map.ofEntries(
                Map.entry("description", "Test description for a policy."),
                Map.entry("rules", Map.ofEntries(
                    Map.entry("actions",
                        Map.ofEntries(
                            Map.entry("name", "CacheExpiration"),
                            Map.entry("parameters", Map.ofEntries(
                                Map.entry("cacheBehavior", "Override"),
                                Map.entry("cacheDuration", "10:10:09"),
                                Map.entry("cacheType", "All"),
                                Map.entry("typeName", "DeliveryRuleCacheExpirationActionParameters")
                            ))
                        ),
                        Map.ofEntries(
                            Map.entry("name", "ModifyResponseHeader"),
                            Map.entry("parameters", Map.ofEntries(
                                Map.entry("headerAction", "Overwrite"),
                                Map.entry("headerName", "Access-Control-Allow-Origin"),
                                Map.entry("typeName", "DeliveryRuleHeaderActionParameters"),
                                Map.entry("value", "*")
                            ))
                        ),
                        Map.ofEntries(
                            Map.entry("name", "ModifyRequestHeader"),
                            Map.entry("parameters", Map.ofEntries(
                                Map.entry("headerAction", "Overwrite"),
                                Map.entry("headerName", "Accept-Encoding"),
                                Map.entry("typeName", "DeliveryRuleHeaderActionParameters"),
                                Map.entry("value", "gzip")
                            ))
                        )),
                    Map.entry("conditions", Map.ofEntries(
                        Map.entry("name", "RemoteAddress"),
                        Map.entry("parameters", Map.ofEntries(
                            Map.entry("matchValues",
                                "192.168.1.0/24",
                                "10.0.0.0/24"),
                            Map.entry("negateCondition", true),
                            Map.entry("operator", "IPMatch"),
                            Map.entry("typeName", "DeliveryRuleRemoteAddressConditionParameters")
                        ))
                    )),
                    Map.entry("name", "rule1"),
                    Map.entry("order", 1)
                ))
            ))
            .endpointName("endpoint1")
            .isCompressionEnabled(true)
            .isHttpAllowed(true)
            .isHttpsAllowed(true)
            .location("WestUs")
            .originGroups(Map.ofEntries(
                Map.entry("healthProbeSettings", Map.ofEntries(
                    Map.entry("probeIntervalInSeconds", 120),
                    Map.entry("probePath", "/health.aspx"),
                    Map.entry("probeProtocol", "Http"),
                    Map.entry("probeRequestType", "GET")
                )),
                Map.entry("name", "originGroup1"),
                Map.entry("origins",
                    Map.of("id", "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"),
                    Map.of("id", "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2")),
                Map.entry("responseBasedOriginErrorDetectionSettings", Map.ofEntries(
                    Map.entry("responseBasedDetectedErrorTypes", "TcpErrorsOnly"),
                    Map.entry("responseBasedFailoverThresholdPercentage", 10)
                ))
            ))
            .originHostHeader("www.bing.com")
            .originPath("/photos")
            .origins(
                Map.ofEntries(
                    Map.entry("enabled", true),
                    Map.entry("hostName", "www.someDomain1.net"),
                    Map.entry("httpPort", 80),
                    Map.entry("httpsPort", 443),
                    Map.entry("name", "origin1"),
                    Map.entry("originHostHeader", "www.someDomain1.net"),
                    Map.entry("priority", 1),
                    Map.entry("weight", 50)
                ),
                Map.ofEntries(
                    Map.entry("enabled", true),
                    Map.entry("hostName", "www.someDomain2.net"),
                    Map.entry("httpPort", 80),
                    Map.entry("httpsPort", 443),
                    Map.entry("name", "origin2"),
                    Map.entry("originHostHeader", "www.someDomain2.net"),
                    Map.entry("priority", 2),
                    Map.entry("weight", 50)
                ))
            .profileName("profile1")
            .queryStringCachingBehavior("BypassCaching")
            .resourceGroupName("RG")
            .tags(Map.of("key1", "value1"))
            .build());
    }
}Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:cdn:Endpoint endpoint4899 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}Properties
The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.