/*******************************************************************************
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use
* this file except in compliance with the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and
* limitations under the License.
* *****************************************************************************
* __ _ _ ___
* ( )( \/\/ )/ __)
* /__\ \ / \__ \
* (_)(_) \/\/ (___/
*
* AWS SDK for .NET
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Amazon.EC2.Util
{
///
/// The properties used to create a VPC, a public subnet, private subnet and a NAT EC2 instance to allow EC2 instances in the private
/// subnet to establish outbound connections to the internet.
///
public class LaunchVPCWithPublicAndPrivateSubnetsRequest : LaunchVPCWithPublicSubnetRequest
{
string privateSubnetCiderBlock = "10.0.1.0/24";
string privateSubnetAvailabilityZone;
string instanceType = "m1.small";
string keyName;
///
/// Gets and sets the CIDR block you want the private subnet to cover. The default value is "10.0.1.0/24".
///
public string PrivateSubnetCiderBlock
{
get { return this.privateSubnetCiderBlock; }
set { this.privateSubnetCiderBlock = value; }
}
///
/// Gets and sets the Availability Zone you want the private subnet in.
///
public string PrivateSubnetAvailabilityZone
{
get { return this.privateSubnetAvailabilityZone; }
set { this.privateSubnetAvailabilityZone = value; }
}
///
/// Gets and sets the instance type of the NAT instance. The default value is "m1.small".
///
public string InstanceType
{
get { return this.instanceType; }
set { this.instanceType = value; }
}
///
/// Gets and sets the key name of the NAT instance.
///
public string KeyName
{
get { return this.keyName; }
set { this.keyName = value; }
}
///
/// Gets and sets whether the default security group for the VPC should be configured to allow traffic from the EC2 instances to the NAT instance.
/// This means another security group with the name "NATGroup" will be created and a new permission allowing all inbound traffic will be added to the default security group for the VPC.
/// If this VPC is going to be used for AWS Elastic Beanstalk deployments then used this security group as the security group specified for the environment.
///
public bool ConfigureDefaultVPCGroupForNAT
{
get;
set;
}
}
}