{
  "description": "DBSubnetGroup is the Schema for the DBSubnetGroups 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": "DBSubnetGroupSpec defines the desired state of DBSubnetGroup.\n\nContains the details of an Amazon RDS DB subnet group.\n\nThis data type is used as a response element in the DescribeDBSubnetGroups\naction.",
      "properties": {
        "description": {
          "description": "The description for the DB subnet group.",
          "type": "string"
        },
        "name": {
          "description": "The name for the DB subnet group. This value is stored as a lowercase string.\n\nConstraints:\n\n  - Must contain no more than 255 letters, numbers, periods, underscores,\n    spaces, or hyphens.\n\n  - Must not be default.\n\n  - First character must be a letter.\n\nExample: mydbsubnetgroup",
          "type": "string"
        },
        "subnetIDs": {
          "description": "The EC2 Subnet IDs for the DB subnet group.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "subnetRefs": {
          "items": {
            "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": "array"
        },
        "tags": {
          "description": "Tags to assign to the DB subnet group.",
          "items": {
            "description": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see Tagging Amazon RDS resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources\n(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html)\nin the Amazon Aurora User Guide.",
            "properties": {
              "key": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "required": [
        "description",
        "name"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "DBSubnetGroupStatus defines the observed state of DBSubnetGroup",
      "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
        },
        "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"
        },
        "subnetGroupStatus": {
          "description": "Provides the status of the DB subnet group.",
          "type": "string"
        },
        "subnets": {
          "description": "Contains a list of Subnet elements.",
          "items": {
            "description": "This data type is used as a response element for the DescribeDBSubnetGroups\noperation.",
            "properties": {
              "subnetAvailabilityZone": {
                "description": "Contains Availability Zone information.\n\nThis data type is used as an element in the OrderableDBInstanceOption data\ntype.",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "subnetIdentifier": {
                "type": "string"
              },
              "subnetOutpost": {
                "description": "A data type that represents an Outpost.\n\nFor more information about RDS on Outposts, see Amazon RDS on Amazon Web\nServices Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide.",
                "properties": {
                  "arn": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "subnetStatus": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "supportedNetworkTypes": {
          "description": "The network type of the DB subnet group.\n\nValid values:\n\n   * IPV4\n\n   * DUAL\n\nA DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6\nprotocols (DUAL).\n\nFor more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)\nin the Amazon RDS User Guide.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "vpcID": {
          "description": "Provides the VpcId of the DB subnet group.",
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
