{
  "description": "VPCPeeringConnection is the Schema for the VPCPeeringConnections 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": "VpcPeeringConnectionSpec defines the desired state of VpcPeeringConnection.\n\nDescribes a VPC peering connection.",
      "properties": {
        "acceptRequest": {
          "type": "boolean"
        },
        "accepterPeeringConnectionOptions": {
          "description": "The VPC peering connection options for the accepter VPC.",
          "properties": {
            "allowDNSResolutionFromRemoteVPC": {
              "type": "boolean"
            },
            "allowEgressFromLocalClassicLinkToRemoteVPC": {
              "type": "boolean"
            },
            "allowEgressFromLocalVPCToRemoteClassicLink": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "peerOwnerID": {
          "description": "The Amazon Web Services account ID of the owner of the accepter VPC.\n\nDefault: Your Amazon Web Services account ID",
          "type": "string"
        },
        "peerRegion": {
          "description": "The Region code for the accepter VPC, if the accepter VPC is located in a\nRegion other than the Region in which you make the request.\n\nDefault: The Region in which you make the request.",
          "type": "string"
        },
        "peerVPCID": {
          "description": "The ID of the VPC with which you are creating the VPC peering connection.\nYou must specify this parameter in the request.",
          "type": "string"
        },
        "peerVPCRef": {
          "description": "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t  name: my-api",
          "properties": {
            "from": {
              "description": "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)",
              "properties": {
                "name": {
                  "type": "string"
                },
                "namespace": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "requesterPeeringConnectionOptions": {
          "description": "The VPC peering connection options for the requester VPC.",
          "properties": {
            "allowDNSResolutionFromRemoteVPC": {
              "type": "boolean"
            },
            "allowEgressFromLocalClassicLinkToRemoteVPC": {
              "type": "boolean"
            },
            "allowEgressFromLocalVPCToRemoteClassicLink": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "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"
        },
        "vpcID": {
          "description": "The ID of the requester VPC. You must specify this parameter in the request.",
          "type": "string"
        },
        "vpcRef": {
          "description": "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t  name: my-api",
          "properties": {
            "from": {
              "description": "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)",
              "properties": {
                "name": {
                  "type": "string"
                },
                "namespace": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "VPCPeeringConnectionStatus defines the observed state of VPCPeeringConnection",
      "properties": {
        "accepterVPCInfo": {
          "description": "Information about the accepter VPC. CIDR block information is only returned\nwhen describing an active VPC peering connection.",
          "properties": {
            "cidrBlock": {
              "type": "string"
            },
            "cidrBlockSet": {
              "items": {
                "description": "Describes an IPv4 CIDR block.",
                "properties": {
                  "cidrBlock": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "ipv6CIDRBlockSet": {
              "items": {
                "description": "Describes an IPv6 CIDR block.",
                "properties": {
                  "ipv6CIDRBlock": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "ownerID": {
              "type": "string"
            },
            "peeringOptions": {
              "description": "Describes the VPC peering connection options.",
              "properties": {
                "allowDNSResolutionFromRemoteVPC": {
                  "type": "boolean"
                },
                "allowEgressFromLocalClassicLinkToRemoteVPC": {
                  "type": "boolean"
                },
                "allowEgressFromLocalVPCToRemoteClassicLink": {
                  "type": "boolean"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "region": {
              "type": "string"
            },
            "vpcID": {
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "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
        },
        "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"
        },
        "expirationTime": {
          "description": "The time that an unaccepted VPC peering connection will expire.",
          "format": "date-time",
          "type": "string"
        },
        "requesterVPCInfo": {
          "description": "Information about the requester VPC. CIDR block information is only returned\nwhen describing an active VPC peering connection.",
          "properties": {
            "cidrBlock": {
              "type": "string"
            },
            "cidrBlockSet": {
              "items": {
                "description": "Describes an IPv4 CIDR block.",
                "properties": {
                  "cidrBlock": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "ipv6CIDRBlockSet": {
              "items": {
                "description": "Describes an IPv6 CIDR block.",
                "properties": {
                  "ipv6CIDRBlock": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "ownerID": {
              "type": "string"
            },
            "peeringOptions": {
              "description": "Describes the VPC peering connection options.",
              "properties": {
                "allowDNSResolutionFromRemoteVPC": {
                  "type": "boolean"
                },
                "allowEgressFromLocalClassicLinkToRemoteVPC": {
                  "type": "boolean"
                },
                "allowEgressFromLocalVPCToRemoteClassicLink": {
                  "type": "boolean"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "region": {
              "type": "string"
            },
            "vpcID": {
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "status": {
          "description": "The status of the VPC peering connection.",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "vpcPeeringConnectionID": {
          "description": "The ID of the VPC peering connection.",
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
