/* * Copyright 2010-2018 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. */ package com.amazonaws.services.ec2.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; import com.amazonaws.Request; import com.amazonaws.services.ec2.model.transform.CreateVpcRequestMarshaller; /** * Container for the parameters to the {@link com.amazonaws.services.ec2.AmazonEC2#createVpc(CreateVpcRequest) CreateVpc operation}. *
* Creates a VPC with the specified CIDR block. *
** The smallest VPC you can create uses a /28 netmask (16 IP addresses), * and the largest uses a /16 netmask (65,536 IP addresses). To help you * decide how big to make your VPC, see * Your VPC and Subnets * in the Amazon Virtual Private Cloud User Guide . *
** By default, each instance you launch in the VPC has the default DHCP * options, which includes only a default DNS server that we provide * (AmazonProvidedDNS). For more information about DHCP options, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *
** You can specify the instance tenancy value for the VPC when you create * it. You can't change this value for the VPC after you create it. For * more information, see * Dedicated Instances * in the Amazon Virtual Private Cloud User Guide . *
* * @see com.amazonaws.services.ec2.AmazonEC2#createVpc(CreateVpcRequest) */ public class CreateVpcRequest extends AmazonWebServiceRequest implements Serializable, DryRunSupportedRequest10.0.0.0/16
.
*/
private String cidrBlock;
/**
* The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC. Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* Constraints:
* Allowed Values: default, dedicated, host
*/
private String instanceTenancy;
/**
* Default constructor for a new CreateVpcRequest object. Callers should use the
* setter or fluent setter (with...) methods to initialize this object after creating it.
*/
public CreateVpcRequest() {}
/**
* Constructs a new CreateVpcRequest object.
* Callers should use the setter or fluent setter (with...) methods to
* initialize any additional object members.
*
* @param cidrBlock The network range for the VPC, in CIDR notation. For
* example, 10.0.0.0/16
.
*/
public CreateVpcRequest(String cidrBlock) {
setCidrBlock(cidrBlock);
}
/**
* The network range for the VPC, in CIDR notation. For example,
* 10.0.0.0/16
.
*
* @return The network range for the VPC, in CIDR notation. For example,
* 10.0.0.0/16
.
*/
public String getCidrBlock() {
return cidrBlock;
}
/**
* The network range for the VPC, in CIDR notation. For example,
* 10.0.0.0/16
.
*
* @param cidrBlock The network range for the VPC, in CIDR notation. For example,
* 10.0.0.0/16
.
*/
public void setCidrBlock(String cidrBlock) {
this.cidrBlock = cidrBlock;
}
/**
* The network range for the VPC, in CIDR notation. For example,
* 10.0.0.0/16
.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param cidrBlock The network range for the VPC, in CIDR notation. For example,
* 10.0.0.0/16
.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CreateVpcRequest withCidrBlock(String cidrBlock) {
this.cidrBlock = cidrBlock;
return this;
}
/**
* The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* Constraints:
* Allowed Values: default, dedicated, host
*
* @return The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* @see Tenancy
*/
public String getInstanceTenancy() {
return instanceTenancy;
}
/**
* The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* Constraints:
* Allowed Values: default, dedicated, host
*
* @param instanceTenancy The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* @see Tenancy
*/
public void setInstanceTenancy(String instanceTenancy) {
this.instanceTenancy = instanceTenancy;
}
/**
* The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* Returns a reference to this object so that method calls can be chained together. *
* Constraints:
* Allowed Values: default, dedicated, host
*
* @param instanceTenancy The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* @return A reference to this updated object so that method calls can be chained
* together.
*
* @see Tenancy
*/
public CreateVpcRequest withInstanceTenancy(String instanceTenancy) {
this.instanceTenancy = instanceTenancy;
return this;
}
/**
* The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* Constraints:
* Allowed Values: default, dedicated, host
*
* @param instanceTenancy The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* @see Tenancy
*/
public void setInstanceTenancy(Tenancy instanceTenancy) {
this.instanceTenancy = instanceTenancy.toString();
}
/**
* The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* Returns a reference to this object so that method calls can be chained together. *
* Constraints:
* Allowed Values: default, dedicated, host
*
* @param instanceTenancy The tenancy options for instances launched into the VPC. For
* default
, instances are launched with shared tenancy by
* default. You can launch instances with any tenancy into a shared
* tenancy VPC. For dedicated
, instances are launched as
* dedicated tenancy instances by default. You can only launch instances
* with a tenancy of dedicated
or host
into a
* dedicated tenancy VPC.
Important: The host
* value cannot be used with this parameter. Use the default
* or dedicated
values only.
Default:
* default
*
* @return A reference to this updated object so that method calls can be chained
* together.
*
* @see Tenancy
*/
public CreateVpcRequest withInstanceTenancy(Tenancy instanceTenancy) {
this.instanceTenancy = instanceTenancy.toString();
return this;
}
/**
* This method is intended for internal use only.
* Returns the marshaled request configured with additional parameters to
* enable operation dry-run.
*/
@Override
public Request