// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// 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 AspNetAppElasticBeanstalkWindows.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; }
///
/// A service role is the IAM role that Elastic Beanstalk assumes when calling other services on your behalf
///
public IAMRoleConfiguration ServiceIAMRole { get; set; }
///
/// The type of environment for the Elastic Beanstalk application.
///
public string EnvironmentType { get; set; } = Recipe.ENVIRONMENTTYPE_SINGLEINSTANCE;
///
/// The EC2 instance type used for the EC2 instances created for the environment.
///
public string InstanceType { get; set; }
///
/// The Elastic Beanstalk environment.
///
public string EnvironmentName { get; set; }
///
/// The Elastic Beanstalk application.
///
public BeanstalkApplicationConfiguration BeanstalkApplication { get; set; }
///
/// The name of an Elastic Beanstalk solution stack (platform version) to use with the environment.
///
public string ElasticBeanstalkPlatformArn { get; set; }
///
/// The type of load balancer for your environment.
///
public string LoadBalancerType { get; set; } = Recipe.LOADBALANCERTYPE_APPLICATION;
///
/// The EC2 Key Pair used for the Beanstalk Application.
///
public string EC2KeyPair { get; set; }
///
/// Specifies whether to enable or disable Managed Platform Updates.
///
public ElasticBeanstalkManagedPlatformUpdatesConfiguration ElasticBeanstalkManagedPlatformUpdates { get; set; }
///
/// Specifies whether to enable or disable AWS X-Ray tracing support.
///
public bool XRayTracingSupportEnabled { get; set; } = false;
///
/// Specifies the IIS WebSite.
///
public string IISWebSite { get; set; } = "Default Web Site";
///
/// Specifies the IIS application path.
///
public string IISAppPath { get; set; } = "/";
///
/// Specifies whether to enable or disable enhanced health reporting.
///
public string EnhancedHealthReporting { get; set; } = Recipe.ENHANCED_HEALTH_REPORTING;
///
/// The health check URL to use.
///
public string HealthCheckURL { get; set; }
///
/// Specifies whether to enable or disable Rolling Updates.
///
public ElasticBeanstalkRollingUpdatesConfiguration ElasticBeanstalkRollingUpdates { get; set; }
///
/// The CName Prefix used for the Beanstalk Environment.
///
public string CNamePrefix { get; set; }
///
/// The environment variables that are set for the beanstalk environment.
///
public Dictionary ElasticBeanstalkEnvironmentVariables { get; set; } = new Dictionary { };
///
/// Virtual Private Cloud to launch container instance into a virtual network.
///
public VPCConfiguration VPC { get; set; }
/// 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,
IAMRoleConfiguration serviceIAMRole,
string instanceType,
string environmentName,
BeanstalkApplicationConfiguration beanstalkApplication,
string elasticBeanstalkPlatformArn,
string ec2KeyPair,
ElasticBeanstalkManagedPlatformUpdatesConfiguration elasticBeanstalkManagedPlatformUpdates,
string healthCheckURL,
ElasticBeanstalkRollingUpdatesConfiguration elasticBeanstalkRollingUpdates,
string cnamePrefix,
Dictionary elasticBeanstalkEnvironmentVariables,
VPCConfiguration vpc,
string environmentType = Recipe.ENVIRONMENTTYPE_SINGLEINSTANCE,
string loadBalancerType = Recipe.LOADBALANCERTYPE_APPLICATION,
bool xrayTracingSupportEnabled = false,
string enhancedHealthReporting = Recipe.ENHANCED_HEALTH_REPORTING)
{
ApplicationIAMRole = applicationIAMRole;
ServiceIAMRole = serviceIAMRole;
InstanceType = instanceType;
EnvironmentName = environmentName;
BeanstalkApplication = beanstalkApplication;
ElasticBeanstalkPlatformArn = elasticBeanstalkPlatformArn;
EC2KeyPair = ec2KeyPair;
ElasticBeanstalkManagedPlatformUpdates = elasticBeanstalkManagedPlatformUpdates;
ElasticBeanstalkRollingUpdates = elasticBeanstalkRollingUpdates;
ElasticBeanstalkEnvironmentVariables = elasticBeanstalkEnvironmentVariables;
VPC = vpc;
EnvironmentType = environmentType;
LoadBalancerType = loadBalancerType;
XRayTracingSupportEnabled = xrayTracingSupportEnabled;
EnhancedHealthReporting = enhancedHealthReporting;
HealthCheckURL = healthCheckURL;
CNamePrefix = cnamePrefix;
}
}
}