-
Notifications
You must be signed in to change notification settings - Fork 4.8k
/
CdnOriginData.cs
127 lines (120 loc) · 8.59 KB
/
CdnOriginData.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using System.Collections.Generic;
using Azure.Core;
using Azure.ResourceManager.Cdn.Models;
using Azure.ResourceManager.Models;
namespace Azure.ResourceManager.Cdn
{
/// <summary>
/// A class representing the CdnOrigin data model.
/// CDN origin is the source of the content being delivered via CDN. When the edge nodes represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured origins.
/// </summary>
public partial class CdnOriginData : ResourceData
{
/// <summary>
/// Keeps track of any properties unknown to the library.
/// <para>
/// To assign an object to the value of this property use <see cref="BinaryData.FromObjectAsJson{T}(T, System.Text.Json.JsonSerializerOptions?)"/>.
/// </para>
/// <para>
/// To assign an already formatted json string to this property use <see cref="BinaryData.FromString(string)"/>.
/// </para>
/// <para>
/// Examples:
/// <list type="bullet">
/// <item>
/// <term>BinaryData.FromObjectAsJson("foo")</term>
/// <description>Creates a payload of "foo".</description>
/// </item>
/// <item>
/// <term>BinaryData.FromString("\"foo\"")</term>
/// <description>Creates a payload of "foo".</description>
/// </item>
/// <item>
/// <term>BinaryData.FromObjectAsJson(new { key = "value" })</term>
/// <description>Creates a payload of { "key": "value" }.</description>
/// </item>
/// <item>
/// <term>BinaryData.FromString("{\"key\": \"value\"}")</term>
/// <description>Creates a payload of { "key": "value" }.</description>
/// </item>
/// </list>
/// </para>
/// </summary>
private IDictionary<string, BinaryData> _serializedAdditionalRawData;
/// <summary> Initializes a new instance of <see cref="CdnOriginData"/>. </summary>
public CdnOriginData()
{
}
/// <summary> Initializes a new instance of <see cref="CdnOriginData"/>. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="hostName"> The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint. </param>
/// <param name="httpPort"> The value of the HTTP port. Must be between 1 and 65535. </param>
/// <param name="httpsPort"> The value of the HTTPS port. Must be between 1 and 65535. </param>
/// <param name="originHostHeader"> The host header value sent to the origin with each request. 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. This overrides the host header defined at Endpoint. </param>
/// <param name="priority"> Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5. </param>
/// <param name="weight"> Weight of the origin in given origin group for load balancing. Must be between 1 and 1000. </param>
/// <param name="enabled"> Origin is enabled for load balancing or not. </param>
/// <param name="privateLinkAlias"> The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'. </param>
/// <param name="privateLinkResourceId"> The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'. </param>
/// <param name="privateLinkLocation"> The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated. </param>
/// <param name="privateLinkApprovalMessage"> A custom message to be included in the approval request to connect to the Private Link. </param>
/// <param name="resourceState"> Resource status of the origin. </param>
/// <param name="provisioningState"> Provisioning status of the origin. </param>
/// <param name="privateEndpointStatus"> The approval status for the connection to the Private Link. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal CdnOriginData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, string hostName, int? httpPort, int? httpsPort, string originHostHeader, int? priority, int? weight, bool? enabled, string privateLinkAlias, ResourceIdentifier privateLinkResourceId, string privateLinkLocation, string privateLinkApprovalMessage, OriginResourceState? resourceState, OriginProvisioningState? provisioningState, PrivateEndpointStatus? privateEndpointStatus, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData)
{
HostName = hostName;
HttpPort = httpPort;
HttpsPort = httpsPort;
OriginHostHeader = originHostHeader;
Priority = priority;
Weight = weight;
Enabled = enabled;
PrivateLinkAlias = privateLinkAlias;
PrivateLinkResourceId = privateLinkResourceId;
PrivateLinkLocation = privateLinkLocation;
PrivateLinkApprovalMessage = privateLinkApprovalMessage;
ResourceState = resourceState;
ProvisioningState = provisioningState;
PrivateEndpointStatus = privateEndpointStatus;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint. </summary>
public string HostName { get; set; }
/// <summary> The value of the HTTP port. Must be between 1 and 65535. </summary>
public int? HttpPort { get; set; }
/// <summary> The value of the HTTPS port. Must be between 1 and 65535. </summary>
public int? HttpsPort { get; set; }
/// <summary> The host header value sent to the origin with each request. 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. This overrides the host header defined at Endpoint. </summary>
public string OriginHostHeader { get; set; }
/// <summary> Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5. </summary>
public int? Priority { get; set; }
/// <summary> Weight of the origin in given origin group for load balancing. Must be between 1 and 1000. </summary>
public int? Weight { get; set; }
/// <summary> Origin is enabled for load balancing or not. </summary>
public bool? Enabled { get; set; }
/// <summary> The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'. </summary>
public string PrivateLinkAlias { get; set; }
/// <summary> The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'. </summary>
public ResourceIdentifier PrivateLinkResourceId { get; set; }
/// <summary> The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated. </summary>
public string PrivateLinkLocation { get; set; }
/// <summary> A custom message to be included in the approval request to connect to the Private Link. </summary>
public string PrivateLinkApprovalMessage { get; set; }
/// <summary> Resource status of the origin. </summary>
public OriginResourceState? ResourceState { get; }
/// <summary> Provisioning status of the origin. </summary>
public OriginProvisioningState? ProvisioningState { get; }
/// <summary> The approval status for the connection to the Private Link. </summary>
public PrivateEndpointStatus? PrivateEndpointStatus { get; }
}
}