Class CreateLoadBalancerDetails
The configuration details for creating a load balancer.
Warning: Oracle recommends that you avoid using any confidential information when you supply string values using the API.
Inheritance
CreateLoadBalancerDetails
Assembly: OCI.DotNetSDK.Loadbalancer.dll
Syntax
public class CreateLoadBalancerDetails
Properties
BackendSets
Declaration
[JsonProperty(PropertyName = "backendSets")]
public Dictionary<string, BackendSetDetails> BackendSets { get; set; }
Property Value
Certificates
Declaration
[JsonProperty(PropertyName = "certificates")]
public Dictionary<string, CertificateDetails> Certificates { get; set; }
Property Value
CompartmentId
Declaration
[Required(ErrorMessage = "CompartmentId is required.")]
[JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
Property Value
Type |
Description |
string |
The OCID of the compartment in which to create the load balancer.
|
Declaration
[JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
Property Value
DisplayName
Declaration
[Required(ErrorMessage = "DisplayName is required.")]
[JsonProperty(PropertyName = "displayName")]
public string DisplayName { get; set; }
Property Value
Type |
Description |
string |
A user-friendly name. It does not have to be unique, and it is changeable.
Avoid entering confidential information.
Example: example_load_balancer
|
Declaration
[JsonProperty(PropertyName = "freeformTags")]
public Dictionary<string, string> FreeformTags { get; set; }
Property Value
Type |
Description |
Dictionary<string, string> |
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see Resource Tags.
Example: {"Department": "Finance"}
|
Hostnames
Declaration
[JsonProperty(PropertyName = "hostnames")]
public Dictionary<string, HostnameDetails> Hostnames { get; set; }
Property Value
IpMode
Declaration
[JsonProperty(PropertyName = "ipMode")]
[JsonConverter(typeof(StringEnumConverter))]
public CreateLoadBalancerDetails.IpModeEnum? IpMode { get; set; }
Property Value
Type |
Description |
CreateLoadBalancerDetails.IpModeEnum? |
Whether the load balancer has an IPv4 or IPv6 IP address.
If "IPV4", the service assigns an IPv4 address and the load balancer supports IPv4 traffic.
If "IPV6", the service assigns an IPv6 address and the load balancer supports IPv6 traffic.
Example: "ipMode":"IPV6"
|
IsDeleteProtectionEnabled
Declaration
[JsonProperty(PropertyName = "isDeleteProtectionEnabled")]
public bool? IsDeleteProtectionEnabled { get; set; }
Property Value
Type |
Description |
bool? |
Whether or not the load balancer has delete protection enabled.
If "true", the loadbalancer will be protected against deletion if configured to accept traffic.
If "false", the loadbalancer will not be protected against deletion.
Delete protection will not be enabled unless a value of "true" is provided.
Example: true
|
IsPrivate
Declaration
[JsonProperty(PropertyName = "isPrivate")]
public bool? IsPrivate { get; set; }
Property Value
Type |
Description |
bool? |
Whether the load balancer has a VCN-local (private) IP address.
If "true", the service assigns a private IP address to the load balancer.
If "false", the service assigns a public IP address to the load balancer.
A public load balancer is accessible from the internet, depending on your VCN's
security list rules. For more information about public and
private load balancers, see How Load Balancing Works.
Example: true
|
Listeners
Declaration
[JsonProperty(PropertyName = "listeners")]
public Dictionary<string, ListenerDetails> Listeners { get; set; }
Property Value
NetworkSecurityGroupIds
Declaration
[JsonProperty(PropertyName = "networkSecurityGroupIds")]
public List<string> NetworkSecurityGroupIds { get; set; }
Property Value
Type |
Description |
List<string> |
An array of NSG OCIDs associated with this load balancer.
During the load balancer's creation, the service adds the new load balancer to the specified NSGs.
The benefits of using NSGs with the load balancer include:
- NSGs define network security rules to govern ingress and egress traffic for the load balancer.
- The network security rules of other resources can reference the NSGs associated with the load balancer
to ensure access.
Example: ["ocid1.nsg.oc1.phx.unique_ID"]
|
PathRouteSets
Declaration
[JsonProperty(PropertyName = "pathRouteSets")]
public Dictionary<string, PathRouteSetDetails> PathRouteSets { get; set; }
Property Value
ReservedIps
Declaration
[JsonProperty(PropertyName = "reservedIps")]
public List<ReservedIP> ReservedIps { get; set; }
Property Value
RuleSets
Declaration
[JsonProperty(PropertyName = "ruleSets")]
public Dictionary<string, RuleSetDetails> RuleSets { get; set; }
Property Value
ShapeDetails
Declaration
[JsonProperty(PropertyName = "shapeDetails")]
public ShapeDetails ShapeDetails { get; set; }
Property Value
Type |
Description |
ShapeDetails |
The configuration details to create load balancer using Flexible shape. This is required only if shapeName is Flexible .
|
ShapeName
Declaration
[Required(ErrorMessage = "ShapeName is required.")]
[JsonProperty(PropertyName = "shapeName")]
public string ShapeName { get; set; }
Property Value
Type |
Description |
string |
A template that determines the total pre-provisioned bandwidth (ingress plus egress).
To get a list of available shapes, use the {@link #listShapes(ListShapesRequest) listShapes}
operation.
Example: flexibleNOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be Flexible
|
SslCipherSuites
Declaration
[JsonProperty(PropertyName = "sslCipherSuites")]
public Dictionary<string, SSLCipherSuiteDetails> SslCipherSuites { get; set; }
Property Value
SubnetIds
Declaration
[Required(ErrorMessage = "SubnetIds is required.")]
[JsonProperty(PropertyName = "subnetIds")]
public List<string> SubnetIds { get; set; }
Property Value