openapi: 3.1.0 info: title: Amazon VPC API description: >- Amazon Virtual Private Cloud (VPC) lets you provision a logically isolated section of the AWS Cloud where you can launch AWS resources in a virtual network that you define. VPC operations are part of the Amazon EC2 API and use the EC2 query-based API pattern. version: '2016-11-15' contact: name: Amazon Web Services url: https://aws.amazon.com/contact-us/ termsOfService: https://aws.amazon.com/service-terms/ externalDocs: description: Amazon VPC API Reference url: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-vpc.html servers: - url: https://ec2.{region}.amazonaws.com description: Amazon EC2 Regional Endpoint (VPC operations) variables: region: default: us-east-1 description: AWS Region tags: - name: Internet Gateways description: Operations for managing internet gateways that connect VPCs to the internet - name: NAT Gateways description: Operations for managing NAT gateways for outbound internet access from private subnets - name: Network ACLs description: Operations for managing network access control lists for subnet-level traffic filtering - name: Route Tables description: Operations for managing route tables and routes within a VPC - name: Subnets description: Operations for creating and managing subnets within a VPC - name: VPCs description: Operations for creating and managing Virtual Private Clouds security: - sigv4Auth: [] paths: /?Action=CreateVpc: get: operationId: createVpc summary: Amazon VPC Create a VPC description: >- Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). After creating the VPC, you can add one or more subnets. tags: - VPCs parameters: - name: CidrBlock in: query required: true description: The IPv4 network range for the VPC in CIDR notation (e.g., 10.0.0.0/16) schema: type: string example: example-id - name: AmazonProvidedIpv6CidrBlock in: query description: Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length schema: type: boolean example: true - name: InstanceTenancy in: query description: The tenancy options for instances launched into the VPC schema: type: string enum: - default - dedicated - host example: default responses: '200': description: Successfully created VPC content: application/xml: schema: $ref: '#/components/schemas/CreateVpcResponse' '400': description: Invalid request parameters '401': description: Authentication failure '403': description: Authorization failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=DescribeVpcs: get: operationId: describeVpcs summary: Amazon VPC Describe VPCs description: >- Describes one or more of your VPCs. Returns information about the VPC including the CIDR block, DHCP options set, state, and tags. tags: - VPCs parameters: - name: VpcId in: query description: The IDs of the VPCs to describe schema: type: array items: type: string example: example-id - name: Filter in: query description: Filters to apply to the results schema: type: array items: type: string example: example - name: MaxResults in: query description: Maximum number of results to return schema: type: integer minimum: 5 maximum: 1000 example: 1 - name: NextToken in: query description: Token for the next page of results schema: type: string example: example responses: '200': description: Successfully described VPCs content: application/xml: schema: $ref: '#/components/schemas/DescribeVpcsResponse' '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=DeleteVpc: get: operationId: deleteVpc summary: Amazon VPC Delete a VPC description: >- Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. You must also delete all subnets associated with the VPC. tags: - VPCs parameters: - name: VpcId in: query required: true description: The ID of the VPC to delete schema: type: string example: example-id responses: '200': description: Successfully deleted VPC '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=ModifyVpcAttribute: get: operationId: modifyVpcAttribute summary: Amazon VPC Modify a VPC Attribute description: >- Modifies the specified attribute of the specified VPC. You can modify the DNS resolution and DNS hostname attributes. tags: - VPCs parameters: - name: VpcId in: query required: true description: The ID of the VPC schema: type: string example: example-id - name: EnableDnsSupport.Value in: query description: Indicates whether DNS resolution is supported for the VPC schema: type: boolean example: true - name: EnableDnsHostnames.Value in: query description: Indicates whether instances launched in the VPC get DNS hostnames schema: type: boolean example: true responses: '200': description: Successfully modified VPC attribute '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=CreateSubnet: get: operationId: createSubnet summary: Amazon VPC Create a Subnet description: >- Creates a subnet in the specified VPC. The new subnet must have a CIDR block that is within the VPC CIDR block. You can optionally specify an Availability Zone in which to create the subnet. tags: - Subnets parameters: - name: VpcId in: query required: true description: The ID of the VPC schema: type: string example: example-id - name: CidrBlock in: query required: true description: The IPv4 network range for the subnet in CIDR notation schema: type: string example: example-id - name: AvailabilityZone in: query description: The Availability Zone or Local Zone for the subnet schema: type: string example: example - name: Ipv6CidrBlock in: query description: The IPv6 network range for the subnet in CIDR notation schema: type: string example: example-id responses: '200': description: Successfully created subnet content: application/xml: schema: $ref: '#/components/schemas/CreateSubnetResponse' '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=DescribeSubnets: get: operationId: describeSubnets summary: Amazon VPC Describe Subnets description: >- Describes one or more of your subnets. Returns information about the subnet including the CIDR block, Availability Zone, VPC, and state. tags: - Subnets parameters: - name: SubnetId in: query description: The IDs of the subnets to describe schema: type: array items: type: string example: example-id - name: Filter in: query description: Filters to apply to the results schema: type: array items: type: string example: example - name: MaxResults in: query description: Maximum number of results to return schema: type: integer minimum: 5 maximum: 1000 example: 1 - name: NextToken in: query description: Token for the next page of results schema: type: string example: example responses: '200': description: Successfully described subnets content: application/xml: schema: $ref: '#/components/schemas/DescribeSubnetsResponse' '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=DeleteSubnet: get: operationId: deleteSubnet summary: Amazon VPC Delete a Subnet description: >- Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet. tags: - Subnets parameters: - name: SubnetId in: query required: true description: The ID of the subnet to delete schema: type: string example: example-id responses: '200': description: Successfully deleted subnet '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=CreateInternetGateway: get: operationId: createInternetGateway summary: Amazon VPC Create an Internet Gateway description: >- Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway. tags: - Internet Gateways parameters: [] responses: '200': description: Successfully created internet gateway content: application/xml: schema: $ref: '#/components/schemas/CreateInternetGatewayResponse' '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=AttachInternetGateway: get: operationId: attachInternetGateway summary: Amazon VPC Attach an Internet Gateway to a VPC description: >- Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC. tags: - Internet Gateways parameters: - name: InternetGatewayId in: query required: true description: The ID of the internet gateway schema: type: string example: example-id - name: VpcId in: query required: true description: The ID of the VPC schema: type: string example: example-id responses: '200': description: Successfully attached internet gateway '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=CreateNatGateway: get: operationId: createNatGateway summary: Amazon VPC Create a NAT Gateway description: >- Creates a NAT gateway in the specified subnet. A NAT gateway enables instances in a private subnet to connect to the internet or other AWS services, but prevents the internet from initiating a connection with those instances. tags: - NAT Gateways parameters: - name: SubnetId in: query required: true description: The ID of the subnet in which to create the NAT gateway schema: type: string example: example-id - name: AllocationId in: query description: The allocation ID of an Elastic IP address to associate with the NAT gateway schema: type: string example: example-id - name: ConnectivityType in: query description: Indicates whether the NAT gateway supports public or private connectivity schema: type: string enum: - public - private example: public responses: '200': description: Successfully created NAT gateway content: application/xml: schema: $ref: '#/components/schemas/CreateNatGatewayResponse' '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=DescribeNatGateways: get: operationId: describeNatGateways summary: Amazon VPC Describe NAT Gateways description: >- Describes one or more of your NAT gateways. Returns information about the NAT gateway including its state, subnet, and associated Elastic IP address. tags: - NAT Gateways parameters: - name: NatGatewayId in: query description: The IDs of the NAT gateways to describe schema: type: array items: type: string example: example-id - name: Filter in: query description: Filters to apply to the results schema: type: array items: type: string example: example - name: MaxResults in: query description: Maximum number of results to return schema: type: integer minimum: 5 maximum: 1000 example: 1 - name: NextToken in: query description: Token for the next page of results schema: type: string example: example responses: '200': description: Successfully described NAT gateways '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=CreateRouteTable: get: operationId: createRouteTable summary: Amazon VPC Create a Route Table description: >- Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet. tags: - Route Tables parameters: - name: VpcId in: query required: true description: The ID of the VPC schema: type: string example: example-id responses: '200': description: Successfully created route table content: application/xml: schema: $ref: '#/components/schemas/CreateRouteTableResponse' '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=DescribeRouteTables: get: operationId: describeRouteTables summary: Amazon VPC Describe Route Tables description: >- Describes one or more of your route tables. Each subnet in your VPC must be associated with a route table, which controls the routing for the subnet. tags: - Route Tables parameters: - name: RouteTableId in: query description: The IDs of the route tables to describe schema: type: array items: type: string example: example-id - name: Filter in: query description: Filters to apply to the results schema: type: array items: type: string example: example - name: MaxResults in: query description: Maximum number of results to return schema: type: integer minimum: 5 maximum: 1000 example: 1 - name: NextToken in: query description: Token for the next page of results schema: type: string example: example responses: '200': description: Successfully described route tables '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=CreateRoute: get: operationId: createRoute summary: Amazon VPC Create a Route in a Route Table description: >- Creates a route in a route table within a VPC. You must specify either a destination CIDR block or a prefix list ID. You must also specify exactly one of the targets. tags: - Route Tables parameters: - name: RouteTableId in: query required: true description: The ID of the route table for the route schema: type: string example: example-id - name: DestinationCidrBlock in: query description: The IPv4 CIDR address block used for the destination match schema: type: string example: example-id - name: GatewayId in: query description: The ID of an internet gateway or virtual private gateway schema: type: string example: example-id - name: NatGatewayId in: query description: The ID of a NAT gateway schema: type: string example: example-id - name: NetworkInterfaceId in: query description: The ID of a network interface schema: type: string example: example-id responses: '200': description: Successfully created route '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=AssociateRouteTable: get: operationId: associateRouteTable summary: Amazon VPC Associate a Route Table with a Subnet description: >- Associates a subnet or gateway with a route table. The subnet and route table must be in the same VPC. This association causes traffic from the subnet to be routed according to the routes in the route table. tags: - Route Tables parameters: - name: RouteTableId in: query required: true description: The ID of the route table schema: type: string example: example-id - name: SubnetId in: query description: The ID of the subnet schema: type: string example: example-id - name: GatewayId in: query description: The ID of the internet gateway or virtual private gateway schema: type: string example: example-id responses: '200': description: Successfully associated route table '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=CreateNetworkAcl: get: operationId: createNetworkAcl summary: Amazon VPC Create a Network ACL description: >- Creates a network ACL in a VPC. Network ACLs provide an optional layer of security for your VPC that acts as a firewall for controlling traffic in and out of one or more subnets. tags: - Network ACLs parameters: - name: VpcId in: query required: true description: The ID of the VPC schema: type: string example: example-id responses: '200': description: Successfully created network ACL '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK /?Action=DescribeNetworkAcls: get: operationId: describeNetworkAcls summary: Amazon VPC Describe Network ACLs description: >- Describes one or more of your network ACLs. A network ACL is an optional layer of security for your VPC that acts as a firewall for controlling traffic in and out of one or more subnets. tags: - Network ACLs parameters: - name: NetworkAclId in: query description: The IDs of the network ACLs to describe schema: type: array items: type: string example: example-id - name: Filter in: query description: Filters to apply to the results schema: type: array items: type: string example: example - name: MaxResults in: query description: Maximum number of results to return schema: type: integer minimum: 5 maximum: 1000 example: 1 - name: NextToken in: query description: Token for the next page of results schema: type: string example: example responses: '200': description: Successfully described network ACLs '400': description: Invalid request parameters '401': description: Authentication failure x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: sigv4Auth: type: apiKey name: Authorization in: header description: AWS Signature Version 4 authentication schemas: CreateVpcResponse: type: object description: Response from the CreateVpc action properties: vpc: $ref: '#/components/schemas/Vpc' DescribeVpcsResponse: type: object description: Response from the DescribeVpcs action properties: vpcSet: type: array description: Information about the VPCs items: $ref: '#/components/schemas/Vpc' nextToken: type: string description: Token for the next page of results CreateSubnetResponse: type: object description: Response from the CreateSubnet action properties: subnet: $ref: '#/components/schemas/Subnet' DescribeSubnetsResponse: type: object description: Response from the DescribeSubnets action properties: subnetSet: type: array description: Information about the subnets items: $ref: '#/components/schemas/Subnet' nextToken: type: string description: Token for the next page of results CreateInternetGatewayResponse: type: object description: Response from the CreateInternetGateway action properties: internetGateway: $ref: '#/components/schemas/InternetGateway' CreateNatGatewayResponse: type: object description: Response from the CreateNatGateway action properties: natGateway: $ref: '#/components/schemas/NatGateway' CreateRouteTableResponse: type: object description: Response from the CreateRouteTable action properties: routeTable: $ref: '#/components/schemas/RouteTable' Vpc: type: object description: Describes a VPC properties: vpcId: type: string description: The ID of the VPC state: type: string description: The current state of the VPC enum: - pending - available cidrBlock: type: string description: The primary IPv4 CIDR block for the VPC cidrBlockAssociationSet: type: array description: Information about the IPv4 CIDR blocks associated with the VPC items: type: object properties: cidrBlock: type: string associationId: type: string cidrBlockState: type: object properties: state: type: string ipv6CidrBlockAssociationSet: type: array description: Information about the IPv6 CIDR blocks associated with the VPC items: type: object properties: ipv6CidrBlock: type: string associationId: type: string ipv6CidrBlockState: type: object properties: state: type: string dhcpOptionsId: type: string description: The ID of the set of DHCP options associated with the VPC instanceTenancy: type: string description: The allowed tenancy of instances launched into the VPC enum: - default - dedicated - host isDefault: type: boolean description: Indicates whether the VPC is the default VPC ownerId: type: string description: The ID of the AWS account that owns the VPC tags: type: array description: Any tags assigned to the VPC items: $ref: '#/components/schemas/Tag' Subnet: type: object description: Describes a subnet properties: subnetId: type: string description: The ID of the subnet subnetArn: type: string description: The Amazon Resource Name (ARN) of the subnet vpcId: type: string description: The ID of the VPC the subnet is in state: type: string description: The current state of the subnet enum: - pending - available cidrBlock: type: string description: The IPv4 CIDR block assigned to the subnet availabilityZone: type: string description: The Availability Zone of the subnet availabilityZoneId: type: string description: The AZ ID of the subnet availableIpAddressCount: type: integer description: The number of unused private IPv4 addresses in the subnet defaultForAz: type: boolean description: Indicates whether this is the default subnet for the Availability Zone mapPublicIpOnLaunch: type: boolean description: Indicates whether instances launched in this subnet receive a public IPv4 address ownerId: type: string description: The ID of the AWS account that owns the subnet tags: type: array description: Any tags assigned to the subnet items: $ref: '#/components/schemas/Tag' InternetGateway: type: object description: Describes an internet gateway properties: internetGatewayId: type: string description: The ID of the internet gateway attachments: type: array description: Any VPCs attached to the internet gateway items: type: object properties: state: type: string description: The current state of the attachment enum: - attaching - attached - detaching - detached vpcId: type: string description: The ID of the VPC ownerId: type: string description: The ID of the AWS account that owns the internet gateway tags: type: array description: Any tags assigned to the internet gateway items: $ref: '#/components/schemas/Tag' NatGateway: type: object description: Describes a NAT gateway properties: natGatewayId: type: string description: The ID of the NAT gateway subnetId: type: string description: The ID of the subnet in which the NAT gateway is located vpcId: type: string description: The ID of the VPC in which the NAT gateway is located state: type: string description: The state of the NAT gateway enum: - pending - failed - available - deleting - deleted connectivityType: type: string description: Indicates whether the NAT gateway supports public or private connectivity enum: - public - private natGatewayAddresses: type: array description: Information about the IP addresses and network interface associated with the NAT gateway items: type: object properties: allocationId: type: string networkInterfaceId: type: string privateIp: type: string publicIp: type: string createTime: type: string format: date-time description: The date and time the NAT gateway was created tags: type: array description: Any tags assigned to the NAT gateway items: $ref: '#/components/schemas/Tag' RouteTable: type: object description: Describes a route table properties: routeTableId: type: string description: The ID of the route table vpcId: type: string description: The ID of the VPC routes: type: array description: The routes in the route table items: type: object properties: destinationCidrBlock: type: string description: The IPv4 CIDR block used for the destination match destinationIpv6CidrBlock: type: string description: The IPv6 CIDR block used for the destination match gatewayId: type: string description: The ID of the gateway attached to your VPC natGatewayId: type: string description: The ID of a NAT gateway networkInterfaceId: type: string description: The ID of the network interface state: type: string description: The state of the route enum: - active - blackhole origin: type: string description: Describes how the route was created enum: - CreateRouteTable - CreateRoute - EnableVgwRoutePropagation associations: type: array description: The associations between the route table and subnets or gateways items: type: object properties: routeTableAssociationId: type: string routeTableId: type: string subnetId: type: string gatewayId: type: string main: type: boolean description: Indicates whether this is the main route table ownerId: type: string description: The ID of the AWS account that owns the route table tags: type: array description: Any tags assigned to the route table items: $ref: '#/components/schemas/Tag' Tag: type: object description: Describes a tag properties: key: type: string description: The key of the tag value: type: string description: The value of the tag