apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.2
  creationTimestamp: null
  name: vpcendpointserviceconfigurations.ec2.aws.crossplane.io
spec:
  group: ec2.aws.crossplane.io
  names:
    categories:
    - crossplane
    - managed
    - aws
    kind: VPCEndpointServiceConfiguration
    listKind: VPCEndpointServiceConfigurationList
    plural: vpcendpointserviceconfigurations
    singular: vpcendpointserviceconfiguration
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: READY
      type: string
    - jsonPath: .status.conditions[?(@.type=='Synced')].status
      name: SYNCED
      type: string
    - jsonPath: .metadata.annotations.crossplane\.io/external-name
      name: EXTERNAL-NAME
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: VPCEndpointServiceConfiguration is the Schema for the VPCEndpointServiceConfigurations
          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: VPCEndpointServiceConfigurationSpec defines the desired state
              of VPCEndpointServiceConfiguration
            properties:
              deletionPolicy:
                default: Delete
                description: DeletionPolicy specifies what will happen to the underlying
                  external when this managed resource is deleted - either "Delete"
                  or "Orphan" the external resource.
                enum:
                - Orphan
                - Delete
                type: string
              forProvider:
                description: VPCEndpointServiceConfigurationParameters defines the
                  desired state of VPCEndpointServiceConfiguration
                properties:
                  acceptanceRequired:
                    description: Indicates whether requests from service consumers
                      to create an endpoint to your service must be accepted. To accept
                      a request, use AcceptVpcEndpointConnections.
                    type: boolean
                  gatewayLoadBalancerARNRefs:
                    description: GatewayLoadBalancerARNRefs is a list of references
                      to GatewayLoadBalancerARNs used to set the GatewayLoadBalancerARNs.
                    items:
                      description: A Reference to a named object.
                      properties:
                        name:
                          description: Name of the referenced object.
                          type: string
                      required:
                      - name
                      type: object
                    type: array
                  gatewayLoadBalancerARNSelector:
                    description: GatewayLoadBalancerARNSelector selects references
                      to GatewayLoadBalancerARNs used to set the GatewayLoadBalancerARNs.
                    properties:
                      matchControllerRef:
                        description: MatchControllerRef ensures an object with the
                          same controller reference as the selecting object is selected.
                        type: boolean
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: MatchLabels ensures an object with matching labels
                          is selected.
                        type: object
                    type: object
                  gatewayLoadBalancerARNs:
                    description: The Amazon Resource Names (ARNs) of one or more Gateway
                      Load Balancers.
                    items:
                      type: string
                    type: array
                  networkLoadBalancerARNRefs:
                    description: NetworkLoadBalancerARNRefs is a list of references
                      to NetworkLoadBalancerARNs used to set the NetworkLoadBalancerARNs.
                    items:
                      description: A Reference to a named object.
                      properties:
                        name:
                          description: Name of the referenced object.
                          type: string
                      required:
                      - name
                      type: object
                    type: array
                  networkLoadBalancerARNSelector:
                    description: NetworkLoadBalancerARNSelector selects references
                      to NetworkLoadBalancerARNs used to set the NetworkLoadBalancerARNs.
                    properties:
                      matchControllerRef:
                        description: MatchControllerRef ensures an object with the
                          same controller reference as the selecting object is selected.
                        type: boolean
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: MatchLabels ensures an object with matching labels
                          is selected.
                        type: object
                    type: object
                  networkLoadBalancerARNs:
                    description: The Amazon Resource Names (ARNs) of one or more Network
                      Load Balancers for your service.
                    items:
                      type: string
                    type: array
                  privateDNSName:
                    description: (Interface endpoint configuration) The private DNS
                      name to assign to the VPC endpoint service.
                    type: string
                  region:
                    description: Region is which region the VPCEndpointServiceConfiguration
                      will be created.
                    type: string
                  tagSpecifications:
                    description: The tags to associate with the service.
                    items:
                      properties:
                        resourceType:
                          type: string
                        tags:
                          items:
                            properties:
                              key:
                                type: string
                              value:
                                type: string
                            type: object
                          type: array
                      type: object
                    type: array
                  tags:
                    description: Metadata tagging key value pairs
                    items:
                      properties:
                        key:
                          type: string
                        value:
                          type: string
                      type: object
                    type: array
                required:
                - region
                type: object
              providerConfigRef:
                default:
                  name: default
                description: ProviderConfigReference specifies how the provider that
                  will be used to create, observe, update, and delete this managed
                  resource should be configured.
                properties:
                  name:
                    description: Name of the referenced object.
                    type: string
                required:
                - name
                type: object
              providerRef:
                description: 'ProviderReference specifies the provider that will be
                  used to create, observe, update, and delete this managed resource.
                  Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
                properties:
                  name:
                    description: Name of the referenced object.
                    type: string
                required:
                - name
                type: object
              writeConnectionSecretToRef:
                description: WriteConnectionSecretToReference specifies the namespace
                  and name of a Secret to which any connection details for this managed
                  resource should be written. Connection details frequently include
                  the endpoint, username, and password required to connect to the
                  managed resource.
                properties:
                  name:
                    description: Name of the secret.
                    type: string
                  namespace:
                    description: Namespace of the secret.
                    type: string
                required:
                - name
                - namespace
                type: object
            required:
            - forProvider
            type: object
          status:
            description: VPCEndpointServiceConfigurationStatus defines the observed
              state of VPCEndpointServiceConfiguration.
            properties:
              atProvider:
                description: VPCEndpointServiceConfigurationObservation defines the
                  observed state of VPCEndpointServiceConfiguration
                properties:
                  clientToken:
                    description: Unique, case-sensitive identifier that you provide
                      to ensure the idempotency of the request.
                    type: string
                  serviceConfiguration:
                    description: Information about the service configuration.
                    properties:
                      acceptanceRequired:
                        type: boolean
                      availabilityZones:
                        items:
                          type: string
                        type: array
                      baseEndpointDNSNames:
                        items:
                          type: string
                        type: array
                      gatewayLoadBalancerARNs:
                        items:
                          type: string
                        type: array
                      managesVPCEndpoints:
                        type: boolean
                      networkLoadBalancerARNs:
                        items:
                          type: string
                        type: array
                      privateDNSName:
                        type: string
                      privateDNSNameConfiguration:
                        description: Information about the private DNS name for the
                          service endpoint. For more information about these parameters,
                          see VPC Endpoint Service Private DNS Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html)
                          in the Amazon Virtual Private Cloud User Guide.
                        properties:
                          name:
                            type: string
                          state:
                            type: string
                          type_:
                            type: string
                          value:
                            type: string
                        type: object
                      serviceID:
                        type: string
                      serviceName:
                        type: string
                      serviceState:
                        type: string
                      serviceType:
                        items:
                          properties:
                            serviceType:
                              type: string
                          type: object
                        type: array
                      tags:
                        items:
                          properties:
                            key:
                              type: string
                            value:
                              type: string
                          type: object
                        type: array
                    type: object
                type: object
              conditions:
                description: Conditions of the resource.
                items:
                  description: A Condition that may apply to a resource.
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time this condition
                        transitioned from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: A Message containing details about this condition's
                        last transition from one status to another, if any.
                      type: string
                    reason:
                      description: A Reason for this condition's last transition from
                        one status to another.
                      type: string
                    status:
                      description: Status of this condition; is it currently True,
                        False, or Unknown?
                      type: string
                    type:
                      description: Type of this condition. At most one of each condition
                        type may apply to a resource at any point in time.
                      type: string
                  required:
                  - lastTransitionTime
                  - reason
                  - status
                  - type
                  type: object
                type: array
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
