apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.2
  creationTimestamp: null
  name: snssubscriptions.notification.aws.crossplane.io
spec:
  group: notification.aws.crossplane.io
  names:
    categories:
    - crossplane
    - managed
    - aws
    kind: SNSSubscription
    listKind: SNSSubscriptionList
    plural: snssubscriptions
    singular: snssubscription
  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: .spec.forProvider.endpoint
      name: ENDPOINT
      type: string
    - jsonPath: .spec.forProvider.protocol
      name: PROTOCOL
      type: string
    - jsonPath: .status.atProvider.status
      name: STATUS
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: SNSSubscription defines a managed resource that represents state
          of a AWS SNS Subscription
        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: SNSSubscriptionSpec defined the desired state of a AWS SNS
              Topic
            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: SNSSubscriptionParameters define the desired state of
                  a AWS SNS Topic
                properties:
                  deliveryPolicy:
                    description: ' DeliveryPolicy defines how Amazon SNS retries failed  deliveries
                      to HTTP/S endpoints.'
                    type: string
                  endpoint:
                    description: The subscription's endpoint
                    type: string
                  filterPolicy:
                    description: ' The simple JSON object that lets your subscriber
                      receive  only a subset of messages, rather than receiving every
                      message published  to the topic.'
                    type: string
                  protocol:
                    description: The subscription's protocol.
                    type: string
                  rawMessageDelivery:
                    description: ' When set to true, enables raw message delivery  to
                      Amazon SQS or HTTP/S endpoints. This eliminates the need for
                      the endpoints  to process JSON formatting, which is otherwise
                      created for Amazon SNS  metadata.'
                    type: string
                  redrivePolicy:
                    description: ' When specified, sends undeliverable messages to
                      the  specified Amazon SQS dead-letter queue. Messages that can''t
                      be delivered  due to client errors (for example, when the subscribed
                      endpoint is unreachable)  or server errors (for example, when
                      the service that powers the subscribed  endpoint becomes unavailable)
                      are held in the dead-letter queue for further  analysis or reprocessing.'
                    type: string
                  region:
                    description: Region is the region you'd like your SNSSubscription
                      to be in.
                    type: string
                  topicArn:
                    description: TopicArn is the Arn of the SNS Topic
                    type: string
                  topicArnRef:
                    description: TopicArnRef references a SNS Topic and retrieves
                      its TopicArn
                    properties:
                      name:
                        description: Name of the referenced object.
                        type: string
                    required:
                    - name
                    type: object
                  topicArnSelector:
                    description: TopicArnSelector selects a reference to a SNS Topic
                      and retrieves its TopicArn
                    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
                required:
                - endpoint
                - protocol
                - 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: SNSSubscriptionStatus is the status of AWS SNS Topic
            properties:
              atProvider:
                description: SNSSubscriptionObservation represents the observed state
                  of a AWS SNS Topic
                properties:
                  confirmationWasAuthenticated:
                    description: ConfirmationWasAuthenticated – true if the subscription
                      confirmation request was authenticated.
                    type: boolean
                  owner:
                    description: The subscription's owner.
                    type: string
                  status:
                    description: Status represents Confirmation Status of SNS Subscription
                    type: string
                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: []
