Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.cdn.kotlin
import com.pulumi.azure.cdn.EndpointArgs.builder
import com.pulumi.azure.cdn.kotlin.inputs.EndpointDeliveryRuleArgs
import com.pulumi.azure.cdn.kotlin.inputs.EndpointDeliveryRuleArgsBuilder
import com.pulumi.azure.cdn.kotlin.inputs.EndpointGeoFilterArgs
import com.pulumi.azure.cdn.kotlin.inputs.EndpointGeoFilterArgsBuilder
import com.pulumi.azure.cdn.kotlin.inputs.EndpointGlobalDeliveryRuleArgs
import com.pulumi.azure.cdn.kotlin.inputs.EndpointGlobalDeliveryRuleArgsBuilder
import com.pulumi.azure.cdn.kotlin.inputs.EndpointOriginArgs
import com.pulumi.azure.cdn.kotlin.inputs.EndpointOriginArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* 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 `.azureedge.net`.
* !> **Be Aware:** Azure is rolling 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 as the necessary changes are identified.
* ## Example Usage
*
* ```typescript
* 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",
* }],
* });
* ```
* ```python
* 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",
* }])
* ```
* ```csharp
* 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",
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/cdn"
* "github.com/pulumi/pulumi-azure/sdk/v5/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
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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.
* ```sh
* $ pulumi import azure:cdn/endpoint:Endpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Cdn/profiles/myprofile1/endpoints/myendpoint1
* ```
* @property contentTypesToCompresses An array of strings that indicates a content types on which compression will be applied. The value for the elements should be MIME types.
* @property deliveryRules 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.
* @property geoFilters A set of Geo Filters for this CDN Endpoint. Each `geo_filter` block supports fields documented below.
* @property globalDeliveryRule Actions that are valid for all resources regardless of any conditions. A `global_delivery_rule` block as defined below.
* @property isCompressionEnabled Indicates whether compression is to be enabled.
* @property isHttpAllowed Specifies if http allowed. Defaults to `true`.
* @property isHttpsAllowed Specifies if https allowed. Defaults to `true`.
* @property location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
* @property name Specifies the name of the CDN Endpoint. Changing this forces a new resource to be created.
* @property optimizationType What types of optimization should this CDN Endpoint optimize for? Possible values include `DynamicSiteAcceleration`, `GeneralMediaStreaming`, `GeneralWebDelivery`, `LargeFileDownload` and `VideoOnDemandMediaStreaming`.
* @property originHostHeader The host header CDN provider will send along with content requests to origins.
* @property originPath The path used at for origin requests.
* @property origins 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.
* @property probePath 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`.
* > **NOTE:** `global_delivery_rule` and `delivery_rule` are currently only available for `Microsoft_Standard` CDN profiles.
* @property profileName The CDN Profile to which to attach the CDN Endpoint. Changing this forces a new resource to be created.
* @property querystringCachingBehaviour 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`.
* @property resourceGroupName The name of the resource group in which to create the CDN Endpoint. Changing this forces a new resource to be created.
* @property tags A mapping of tags to assign to the resource.
*/
public data class EndpointArgs(
public val contentTypesToCompresses: Output>? = null,
public val deliveryRules: Output>? = null,
public val geoFilters: Output>? = null,
public val globalDeliveryRule: Output? = null,
public val isCompressionEnabled: Output? = null,
public val isHttpAllowed: Output? = null,
public val isHttpsAllowed: Output? = null,
public val location: Output? = null,
public val name: Output? = null,
public val optimizationType: Output? = null,
public val originHostHeader: Output? = null,
public val originPath: Output? = null,
public val origins: Output>? = null,
public val probePath: Output? = null,
public val profileName: Output? = null,
public val querystringCachingBehaviour: Output? = null,
public val resourceGroupName: Output? = null,
public val tags: Output