---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.2
  name: publicipaddresses.azure.remedy.gardener.cloud
spec:
  group: azure.remedy.gardener.cloud
  names:
    kind: PublicIPAddress
    listKind: PublicIPAddressList
    plural: publicipaddresses
    shortNames:
    - pubip
    singular: publicipaddress
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: PublicIPAddress represents an Azure public IP address.
        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: PublicIPAddressSpec represents the spec of an Azure public
              IP address.
            properties:
              ipAddress:
                description: IPAddres is the actual IP address of the public IP address
                  resource in Azure.
                type: string
            required:
            - ipAddress
            type: object
          status:
            description: PublicIPAddressStatus represents the status of an Azure public
              IP address.
            properties:
              exists:
                description: Exists specifies whether the public IP address resource
                  exists or not.
                type: boolean
              failedOperations:
                description: FailedOperations is a list of all failed operations on
                  the virtual machine resource in Azure.
                items:
                  description: FailedOperation describes a failed Azure operation
                    that has been attempted a certain number of times.
                  properties:
                    attempts:
                      description: Attempts is the number of times the operation was
                        attempted so far.
                      type: integer
                    errorMessage:
                      description: ErrorMessage is a the error message from the last
                        operation failure.
                      type: string
                    timestamp:
                      description: Timestamp is the timestamp of the last operation
                        failure.
                      format: date-time
                      type: string
                    type:
                      description: Type is the operation type.
                      enum:
                      - GetPublicIPAddress
                      - CleanPublicIPAddress
                      - GetVirtualMachine
                      - ReapplyVirtualMachine
                      type: string
                  required:
                  - attempts
                  - errorMessage
                  - timestamp
                  - type
                  type: object
                type: array
              id:
                description: ID is the id of the public IP address resource in Azure.
                type: string
              name:
                description: Name is the name of the public IP address resource in
                  Azure.
                type: string
              provisioningState:
                description: ProvisioningState is the provisioning state of the public
                  IP address resource in Azure.
                type: string
            required:
            - exists
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
