{
  "description": "VPC is the Schema for the VPCS API",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "VpcSpec defines the desired state of Vpc.\n\nDescribes a VPC.",
      "properties": {
        "amazonProvidedIPv6CIDRBlock": {
          "description": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for\nthe VPC. You cannot specify the range of IP addresses, or the size of the\nCIDR block.",
          "type": "boolean"
        },
        "cidrBlocks": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "disallowSecurityGroupDefaultRules": {
          "type": "boolean"
        },
        "enableDNSHostnames": {
          "description": "The attribute value. The valid values are true or false.",
          "type": "boolean"
        },
        "enableDNSSupport": {
          "description": "The attribute value. The valid values are true or false.",
          "type": "boolean"
        },
        "instanceTenancy": {
          "description": "The tenancy options for instances launched into the VPC. For default, instances\nare launched with shared tenancy by default. You can launch instances with\nany tenancy into a shared tenancy VPC. For dedicated, instances are launched\nas dedicated tenancy instances by default. You can only launch instances\nwith a tenancy of dedicated or host into a dedicated tenancy VPC.\n\nImportant: The host value cannot be used with this parameter. Use the default\nor dedicated values only.\n\nDefault: default",
          "type": "string"
        },
        "ipv4IPAMPoolID": {
          "description": "The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR.\nFor more information, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html)\nin the Amazon VPC IPAM User Guide.",
          "type": "string"
        },
        "ipv4NetmaskLength": {
          "description": "The netmask length of the IPv4 CIDR you want to allocate to this VPC from\nan Amazon VPC IP Address Manager (IPAM) pool. For more information about\nIPAM, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html)\nin the Amazon VPC IPAM User Guide.",
          "format": "int64",
          "type": "integer"
        },
        "ipv6CIDRBlock": {
          "description": "The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool\nin the request.\n\nTo let Amazon choose the IPv6 CIDR block for you, omit this parameter.",
          "type": "string"
        },
        "ipv6CIDRBlockNetworkBorderGroup": {
          "description": "The name of the location from which we advertise the IPV6 CIDR block. Use\nthis parameter to limit the address to this location.\n\nYou must set AmazonProvidedIpv6CidrBlock to true to use this parameter.",
          "type": "string"
        },
        "ipv6IPAMPoolID": {
          "description": "The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6\nCIDR. IPAM is a VPC feature that you can use to automate your IP address\nmanagement workflows including assigning, tracking, troubleshooting, and\nauditing IP addresses across Amazon Web Services Regions and accounts throughout\nyour Amazon Web Services Organization. For more information, see What is\nIPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html)\nin the Amazon VPC IPAM User Guide.",
          "type": "string"
        },
        "ipv6NetmaskLength": {
          "description": "The netmask length of the IPv6 CIDR you want to allocate to this VPC from\nan Amazon VPC IP Address Manager (IPAM) pool. For more information about\nIPAM, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html)\nin the Amazon VPC IPAM User Guide.",
          "format": "int64",
          "type": "integer"
        },
        "ipv6Pool": {
          "description": "The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.",
          "type": "string"
        },
        "tags": {
          "description": "The tags. The value parameter is required, but if you don't want the tag\nto have a value, specify the parameter with no value, and we set the value\nto an empty string.",
          "items": {
            "description": "Describes a tag.",
            "properties": {
              "key": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "required": [
        "cidrBlocks"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "VPCStatus defines the observed state of VPC",
      "properties": {
        "ackResourceMetadata": {
          "description": "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource",
          "properties": {
            "arn": {
              "description": "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270",
              "type": "string"
            },
            "ownerAccountID": {
              "description": "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource.",
              "type": "string"
            },
            "region": {
              "description": "Region is the AWS region in which the resource exists or will exist.",
              "type": "string"
            }
          },
          "required": [
            "ownerAccountID",
            "region"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "cidrBlockAssociationSet": {
          "description": "Information about the IPv4 CIDR blocks associated with the VPC.",
          "items": {
            "description": "Describes an IPv4 CIDR block associated with a VPC.",
            "properties": {
              "associationID": {
                "type": "string"
              },
              "cidrBlock": {
                "type": "string"
              },
              "cidrBlockState": {
                "description": "Describes the state of a CIDR block.",
                "properties": {
                  "state": {
                    "type": "string"
                  },
                  "statusMessage": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "conditions": {
          "description": "All CRs managed by ACK have a common `Status.Conditions` member that\ncontains a collection of `ackv1alpha1.Condition` objects that describe\nthe various terminal states of the CR and its backend AWS service API\nresource",
          "items": {
            "description": "Condition is the common struct used by all CRDs managed by ACK service\ncontrollers to indicate terminal states  of the CR and its backend AWS\nservice API resource",
            "properties": {
              "lastTransitionTime": {
                "description": "Last time the condition transitioned from one status to another.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "A human readable message indicating details about the transition.",
                "type": "string"
              },
              "reason": {
                "description": "The reason for the condition's last transition.",
                "type": "string"
              },
              "status": {
                "description": "Status of the condition, one of True, False, Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type is the type of the Condition",
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "dhcpOptionsID": {
          "description": "The ID of the set of DHCP options you've associated with the VPC.",
          "type": "string"
        },
        "ipv6CIDRBlockAssociationSet": {
          "description": "Information about the IPv6 CIDR blocks associated with the VPC.",
          "items": {
            "description": "Describes an IPv6 CIDR block associated with a VPC.",
            "properties": {
              "associationID": {
                "type": "string"
              },
              "ipv6CIDRBlock": {
                "type": "string"
              },
              "ipv6CIDRBlockState": {
                "description": "Describes the state of a CIDR block.",
                "properties": {
                  "state": {
                    "type": "string"
                  },
                  "statusMessage": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "ipv6Pool": {
                "type": "string"
              },
              "networkBorderGroup": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "isDefault": {
          "description": "Indicates whether the VPC is the default VPC.",
          "type": "boolean"
        },
        "ownerID": {
          "description": "The ID of the Amazon Web Services account that owns the VPC.",
          "type": "string"
        },
        "securityGroupDefaultRulesExist": {
          "type": "boolean"
        },
        "state": {
          "description": "The current state of the VPC.",
          "type": "string"
        },
        "vpcID": {
          "description": "The ID of the VPC.",
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
