// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\r // SPDX-License-Identifier: Apache-2.0 // 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. using System.Collections.Generic; namespace AspNetAppEcsFargate.Configurations { public partial class Configuration { /// /// The Identity and Access Management Role that provides AWS credentials to the application to access AWS services. /// public IAMRoleConfiguration ApplicationIAMRole { get; set; } /// /// The desired number of ECS tasks to run for the service. /// public double DesiredCount { get; set; } /// /// The name of the ECS service running in the cluster. /// public string ECSServiceName { get; set; } /// /// The ECS cluster that will host the deployed application. /// public ECSClusterConfiguration ECSCluster { get; set; } /// /// Virtual Private Cloud to launch container instance into a virtual network. /// public VpcConfiguration Vpc { get; set; } /// /// List of security groups assigned to the ECS service. /// public SortedSet AdditionalECSServiceSecurityGroups { get; set; } = new SortedSet(); /// /// The amount of CPU to allocate to the Fargate task /// public double? TaskCpu { get; set; } /// /// The amount of memory to allocate to the Fargate task /// public double? TaskMemory { get; set; } public LoadBalancerConfiguration LoadBalancer { get; set; } public AutoScalingConfiguration AutoScaling { get; set; } /// /// The environment variables that are set for the ECS environment. /// public Dictionary ECSEnvironmentVariables { get; set; } = new Dictionary { }; /// 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 Configuration() { } #nullable restore warnings public Configuration( IAMRoleConfiguration applicationIAMRole, string ecsServiceName, ECSClusterConfiguration ecsCluster, VpcConfiguration vpc, SortedSet additionalECSServiceSecurityGroups, LoadBalancerConfiguration loadBalancer, AutoScalingConfiguration autoScaling, Dictionary ecsEnvironmentVariables ) { ApplicationIAMRole = applicationIAMRole; ECSServiceName = ecsServiceName; ECSCluster = ecsCluster; Vpc = vpc; AdditionalECSServiceSecurityGroups = additionalECSServiceSecurityGroups; LoadBalancer = loadBalancer; AutoScaling = autoScaling; ECSEnvironmentVariables = ecsEnvironmentVariables; } } }