using System;
using System.Collections.Generic;
using System.Text;
// This is a generated file from the original deployment recipe. It contains properties for
// all of the settings defined in the recipe file. It is recommended to not modify this file in order
// to allow easy updates to the file when the original recipe that this project was created from has updates.
// This class is marked as a partial class. If you add new settings to the recipe file, those settings should be
// added to partial versions of this class outside of the Generated folder for example in the Configuration folder.
namespace AspNetAppEcsFargate.Configurations
{
public partial class LoadBalancerConfiguration
{
///
/// If set and is false, create a new LoadBalancer
///
public bool CreateNew { get; set; }
///
/// If not creating a new Load Balancer then this is set to an existing load balancer arn.
///
public string ExistingLoadBalancerArn { get; set; }
///
/// How much time to allow currently executing request in ECS tasks to finish before deregistering tasks.
///
public int DeregistrationDelayInSeconds { get; set; } = 60;
///
/// The ping path destination where Elastic Load Balancing sends health check requests.
///
public string? HealthCheckPath { get; set; }
///
/// The approximate number of seconds between health checks.
///
public int? HealthCheckInternval { get; set; }
///
/// The amount of time, in seconds, during which no response from a target means a failed health check.
///
public int? HealthCheckTimeout { get; set; }
///
/// The number of consecutive health check successes required before considering an unhealthy target healthy.
///
public int? HealthyThresholdCount { get; set; }
///
/// The number of consecutive health check successes required before considering an unhealthy target unhealthy.
///
public int? UnhealthyThresholdCount { get; set; }
public enum ListenerConditionTypeEnum { None, Path}
///
/// The type of listener condition to create. Current valid values are "None" and "Path"
///
public ListenerConditionTypeEnum? ListenerConditionType { get; set; }
///
/// The resource path pattern to use with ListenerConditionType is set to "Path"
///
public string? ListenerConditionPathPattern { get; set; }
///
/// The priority of the listener condition rule.
///
public double ListenerConditionPriority { get; set; } = 100;
///
/// Whether the load balancer has an internet-routable address.
///
public bool InternetFacing { get; set; } = true;
/// A parameterless constructor is needed for
/// or the classes will fail to initialize.
/// The warnings are disabled since a parameterless constructor will allow non-nullable properties to be initialized with null values.
#nullable disable warnings
public LoadBalancerConfiguration()
{
}
#nullable restore warnings
public LoadBalancerConfiguration(
bool createNew,
string loadBalancerId)
{
CreateNew = createNew;
ExistingLoadBalancerArn = loadBalancerId;
}
}
}