---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.2
  name: dbsubnetgroups.rds.services.k8s.aws
spec:
  group: rds.services.k8s.aws
  names:
    kind: DBSubnetGroup
    listKind: DBSubnetGroupList
    plural: dbsubnetgroups
    singular: dbsubnetgroup
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: DBSubnetGroup is the Schema for the DBSubnetGroups API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More 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.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More 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.

              Contains the details of an Amazon RDS DB subnet group.

              This data type is used as a response element in the DescribeDBSubnetGroups
              action.
            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.

                  Constraints:

                    - Must contain no more than 255 letters, numbers, periods, underscores,
                      spaces, or hyphens.

                    - Must not be default.

                    - First character must be a letter.

                  Example: 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
                        k8s resource for finding the identifier(Id/ARN/Name)
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                      type: object
                  type: object
                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.

                    For more information, see Tagging Amazon RDS resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
                    in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources
                    (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html)
                    in the Amazon Aurora User Guide.
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  type: object
                type: array
            required:
            - description
            - name
            type: object
          status:
            description: DBSubnetGroupStatus defines the observed state of DBSubnetGroup
            properties:
              ackResourceMetadata:
                description: |-
                  All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
                  that is used to contain resource sync state, account ownership,
                  constructed ARN for the resource
                properties:
                  arn:
                    description: |-
                      ARN is the Amazon Resource Name for the resource. This is a
                      globally-unique identifier and is set only by the ACK service controller
                      once the controller has orchestrated the creation of the resource OR
                      when it has verified that an "adopted" resource (a resource where the
                      ARN annotation was set by the Kubernetes user on the CR) exists and
                      matches the supplied CR's Spec field values.
                      https://github.com/aws/aws-controllers-k8s/issues/270
                    type: string
                  ownerAccountID:
                    description: |-
                      OwnerAccountID is the AWS Account ID of the account that owns the
                      backend 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
              conditions:
                description: |-
                  All CRs managed by ACK have a common `Status.Conditions` member that
                  contains a collection of `ackv1alpha1.Condition` objects that describe
                  the various terminal states of the CR and its backend AWS service API
                  resource
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service 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
                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
                    operation.
                  properties:
                    subnetAvailabilityZone:
                      description: |-
                        Contains Availability Zone information.

                        This data type is used as an element in the OrderableDBInstanceOption data
                        type.
                      properties:
                        name:
                          type: string
                      type: object
                    subnetIdentifier:
                      type: string
                    subnetOutpost:
                      description: |-
                        A data type that represents an Outpost.

                        For more information about RDS on Outposts, see Amazon RDS on Amazon Web
                        Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
                        in the Amazon RDS User Guide.
                      properties:
                        arn:
                          type: string
                      type: object
                    subnetStatus:
                      type: string
                  type: object
                type: array
              supportedNetworkTypes:
                description: |-
                  The network type of the DB subnet group.

                  Valid values:

                     * IPV4

                     * DUAL

                  A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6
                  protocols (DUAL).

                  For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)
                  in the Amazon RDS User Guide.
                items:
                  type: string
                type: array
              vpcID:
                description: Provides the VpcId of the DB subnet group.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}