-
Notifications
You must be signed in to change notification settings - Fork 4.6k
/
DeepCreatedOrigin.cs
84 lines (77 loc) · 6.22 KB
/
DeepCreatedOrigin.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
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using Azure.Core;
namespace Azure.ResourceManager.Cdn.Models
{
/// <summary> The main origin of CDN content which is added when creating a CDN endpoint. </summary>
public partial class DeepCreatedOrigin
{
/// <summary> Initializes a new instance of DeepCreatedOrigin. </summary>
/// <param name="name"> Origin name which must be unique within the endpoint. </param>
/// <exception cref="ArgumentNullException"> <paramref name="name"/> is null. </exception>
public DeepCreatedOrigin(string name)
{
Argument.AssertNotNull(name, nameof(name));
Name = name;
}
/// <summary> Initializes a new instance of DeepCreatedOrigin. </summary>
/// <param name="name"> Origin name which must be unique within the endpoint. </param>
/// <param name="hostName"> The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. 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. </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. By default, origin is always enabled. </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="privateEndpointStatus"> The approval status for the connection to the Private Link. </param>
internal DeepCreatedOrigin(string name, string hostName, int? httpPort, int? httpsPort, string originHostHeader, int? priority, int? weight, bool? enabled, string privateLinkAlias, ResourceIdentifier privateLinkResourceId, string privateLinkLocation, string privateLinkApprovalMessage, PrivateEndpointStatus? privateEndpointStatus)
{
Name = name;
HostName = hostName;
HttpPort = httpPort;
HttpsPort = httpsPort;
OriginHostHeader = originHostHeader;
Priority = priority;
Weight = weight;
Enabled = enabled;
PrivateLinkAlias = privateLinkAlias;
PrivateLinkResourceId = privateLinkResourceId;
PrivateLinkLocation = privateLinkLocation;
PrivateLinkApprovalMessage = privateLinkApprovalMessage;
PrivateEndpointStatus = privateEndpointStatus;
}
/// <summary> Origin name which must be unique within the endpoint. </summary>
public string Name { get; set; }
/// <summary> The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. 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. </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. By default, origin is always enabled. </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> The approval status for the connection to the Private Link. </summary>
public PrivateEndpointStatus? PrivateEndpointStatus { get; }
}
}