Show / Hide Table of Contents

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
object
CreateLoadBalancerDetails
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Oci.LoadbalancerService.Models
Assembly: OCI.DotNetSDK.Loadbalancer.dll
Syntax
public class CreateLoadBalancerDetails

Properties

BackendSets

Declaration
[JsonProperty(PropertyName = "backendSets")]
public Dictionary<string, BackendSetDetails> BackendSets { get; set; }
Property Value
Type Description
Dictionary<string, BackendSetDetails>

Certificates

Declaration
[JsonProperty(PropertyName = "certificates")]
public Dictionary<string, CertificateDetails> Certificates { get; set; }
Property Value
Type Description
Dictionary<string, CertificateDetails>

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.

Remarks

Required

DefinedTags

Declaration
[JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
Example: {"Operations": {"CostCenter": "42"}}

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

Remarks

Required

FreeformTags

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
Type Description
Dictionary<string, HostnameDetails>

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

IsRequestIdEnabled

Declaration
[JsonProperty(PropertyName = "isRequestIdEnabled")]
public bool? IsRequestIdEnabled { get; set; }
Property Value
Type Description
bool?

Whether or not the load balancer has the Request Id feature enabled for HTTP listeners.
If "true", the load balancer will attach a unique request id header to every request passed through from the load balancer to load balancer backends. This same request id header also will be added to the response the lb received from the backend handling the request before the load balancer returns the response to the requestor. The name of the unique request id header is set the by value of requestIdHeader.
If "false", the loadbalancer not add this unique request id header to either the request passed through to the load balancer backends nor to the reponse returned to the user.
New load balancers have the Request Id feature disabled unless isRequestIdEnabled is set to true.
Example: true

Listeners

Declaration
[JsonProperty(PropertyName = "listeners")]
public Dictionary<string, ListenerDetails> Listeners { get; set; }
Property Value
Type Description
Dictionary<string, ListenerDetails>

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
Type Description
Dictionary<string, PathRouteSetDetails>

RequestIdHeader

Declaration
[JsonProperty(PropertyName = "requestIdHeader")]
public string RequestIdHeader { get; set; }
Property Value
Type Description
string

If isRequestIdEnabled is true then this field contains the name of the header field that contains the unique request id that is attached to every request from the load balancer to the load balancer backends and to every response from the load balancer.
If a request to the load balancer already contains a header with same name as specified in requestIdHeader then the load balancer will not change the value of that field.
If isRequestIdEnabled is false then this field is ignored.
If this field is not set or is set to "" then this field defaults to X-Request-Id
Notes:

  • Unless the header name is "" it must start with "X-" prefix.
  • Setting the header name to "" will set it to the default: X-Request-Id.

ReservedIps

Declaration
[JsonProperty(PropertyName = "reservedIps")]
public List<ReservedIP> ReservedIps { get; set; }
Property Value
Type Description
List<ReservedIP>

An array of reserved Ips.

RuleSets

Declaration
[JsonProperty(PropertyName = "ruleSets")]
public Dictionary<string, RuleSetDetails> RuleSets { get; set; }
Property Value
Type Description
Dictionary<string, RuleSetDetails>

SecurityAttributes

Declaration
[JsonProperty(PropertyName = "securityAttributes")]
public Dictionary<string, Dictionary<string, object>> SecurityAttributes { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

Extended Defined tags for ZPR for this resource. Each key is predefined and scoped to a namespace.
Example: {"Oracle-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit", "usagetype" : "zpr"}}}

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

Remarks

Required

SslCipherSuites

Declaration
[JsonProperty(PropertyName = "sslCipherSuites")]
public Dictionary<string, SSLCipherSuiteDetails> SslCipherSuites { get; set; }
Property Value
Type Description
Dictionary<string, SSLCipherSuiteDetails>

SubnetIds

Declaration
[Required(ErrorMessage = "SubnetIds is required.")]
[JsonProperty(PropertyName = "subnetIds")]
public List<string> SubnetIds { get; set; }
Property Value
Type Description
List<string>

An array of subnet OCIDs.

Remarks

Required

In this article
Back to top