Amazon VPC

The following example will be used to illustrate configuration schema.

vpc:
  the-first-vpc:
    type: aws-provision-vpc
    cidr: "10.100.0.0/16"
    zones:
      - "us-east-1a"
      - "us-east-1b"
      - "us-east-1c"
    subnets:
      public:
        cidrs:
          - "10.100.0.0/24"
          - "10.100.1.0/24"
          - "10.100.2.0/24"
        tags:
          name: "the-first-vpc-public-net"
          vpc: "the-first-vpc"
      private:
        cidrs:
          - "10.100.10.0/24"
          - "10.100.11.0/24"
          - "10.100.12.0/24"
        tags:
          name: "the-first-vpc-private-net"
          vpc: "the-first-vpc"

  the-second-vpc:
    type: aws-existing-vpc
    cidr: "10.200.0.0/16"
    zones:
      - "us-east-1a"
      - "us-east-1b"
      - "us-east-1c"
    subnets:
      public:
        cidrs:
          - "10.200.0.0/24"
          - "10.200.1.0/24"
          - "10.200.2.0/24"
        tags:
          name: "the-second-vpc-public-net"
          vpc: "the-second-vpc"
      private:
        cidrs:
          - "10.200.10.0/24"
          - "10.200.11.0/24"
          - "10.200.12.0/24"
        tags:
          name: "the-second-vpc-private-net"
          vpc: "the-second-vpc"

VPCs are defined using YAML syntax as described in the table below

Element

Description

vpc

Parent element for VPC definitions, contains list of named networks.

the-first-vpc, the-second-vpc

VPC identifier. Gropus VPC settings. OpeNgine will assign this name to VPC, also used as reference in other configuration sections.

type

For AWS networks, type can have 2 values: aws-provision-vpc - the network will be provisioned and configured by OpeNgine, aws-existing-vpc - the network already exists and OpeNgine will use it to configure infrastructure

cidr

IP range of VPC.

zones

AWS zones those will be used to provision subnetworks.

subnets

Groups one or more subnets for the same VPC

public, private

Subnet identifiers.

cidr for subnets

IP ranges of the sub-network.

tags

For aws-provision-vpc list of tags to be added to vpc’s subnetwork during provisioning. For aws-existing-vpc list of existing subnetwork tags, will be used by OpeNgine for creating resources.

References: