apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert
    controller-gen.kubebuilder.io/version: (devel)
  name: storageaccountsblobservicescontainers.storage.azure.com
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: azureserviceoperator-webhook-service
          namespace: azureserviceoperator-system
          path: /convert
      conversionReviewVersions:
      - v1beta1
  group: storage.azure.com
  names:
    kind: StorageAccountsBlobServicesContainer
    listKind: StorageAccountsBlobServicesContainerList
    plural: storageaccountsblobservicescontainers
    singular: storageaccountsblobservicescontainer
  preserveUnknownFields: false
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].severity
      name: Severity
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].message
      name: Message
      type: string
    name: v1alpha1api20210401
    schema:
      openAPIV3Schema:
        description: 'Generated from: https://schema.management.azure.com/schemas/2021-04-01/Microsoft.Storage.json#/resourceDefinitions/storageAccounts_blobServices_containers'
        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:
            properties:
              azureName:
                description: 'AzureName: The name of the resource in Azure. This is
                  often the same as the name of the resource in Kubernetes but it
                  doesn''t have to be.'
                maxLength: 63
                minLength: 3
                type: string
              defaultEncryptionScope:
                description: 'DefaultEncryptionScope: Default the container to use
                  specified encryption scope for all writes.'
                type: string
              denyEncryptionScopeOverride:
                description: 'DenyEncryptionScopeOverride: Block override of encryption
                  scope from the container default.'
                type: boolean
              immutableStorageWithVersioning:
                description: 'ImmutableStorageWithVersioning: Object level immutability
                  properties of the container.'
                properties:
                  enabled:
                    description: 'Enabled: This is an immutable property, when set
                      to true it enables object level immutability at the container
                      level.'
                    type: boolean
                type: object
              location:
                description: 'Location: Location to deploy resource to'
                type: string
              metadata:
                additionalProperties:
                  type: string
                description: 'Metadata: A name-value pair to associate with the container
                  as metadata.'
                type: object
              owner:
                description: KnownResourceReference is a resource reference to a known
                  type.
                properties:
                  name:
                    description: This is the name of the Kubernetes resource to reference.
                    type: string
                required:
                - name
                type: object
              publicAccess:
                description: 'PublicAccess: Specifies whether data in the container
                  may be accessed publicly and the level of access.'
                enum:
                - Blob
                - Container
                - None
                type: string
              tags:
                additionalProperties:
                  type: string
                description: 'Tags: Name-value pairs to add to the resource'
                type: object
            required:
            - owner
            type: object
          status:
            properties:
              conditions:
                description: 'Conditions: The observed state of the resource'
                items:
                  description: Condition defines an extension to status (an observation)
                    of a resource
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transitioned from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: Message is a human readable message indicating
                        details about the transition. This field may be empty.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the .metadata.generation
                        that the condition was set based upon. For instance, if .metadata.generation
                        is currently 12, but the .status.condition[x].observedGeneration
                        is 9, the condition is out of date with respect to the current
                        state of the instance.
                      format: int64
                      type: integer
                    reason:
                      description: Reason for the condition's last transition. Reasons
                        are upper CamelCase (PascalCase) with no spaces. A reason
                        is always provided, this field will not be empty.
                      type: string
                    severity:
                      description: Severity with which to treat failures of this type
                        of condition. For conditions which have positive polarity
                        (Status == True is their normal/healthy state), this will
                        be omitted when Status == True For conditions which have negative
                        polarity (Status == False is their normal/healthy state),
                        this will be omitted when Status == False. This is omitted
                        in all cases when Status == Unknown
                      type: string
                    status:
                      description: Status of the condition, one of True, False, or
                        Unknown.
                      type: string
                    type:
                      description: Type of condition.
                      type: string
                  required:
                  - lastTransitionTime
                  - reason
                  - status
                  - type
                  type: object
                type: array
              defaultEncryptionScope:
                description: 'DefaultEncryptionScope: Default the container to use
                  specified encryption scope for all writes.'
                type: string
              deleted:
                description: 'Deleted: Indicates whether the blob container was deleted.'
                type: boolean
              deletedTime:
                description: 'DeletedTime: Blob container deletion time.'
                type: string
              denyEncryptionScopeOverride:
                description: 'DenyEncryptionScopeOverride: Block override of encryption
                  scope from the container default.'
                type: boolean
              etag:
                description: 'Etag: Resource Etag.'
                type: string
              hasImmutabilityPolicy:
                description: 'HasImmutabilityPolicy: The hasImmutabilityPolicy public
                  property is set to true by SRP if ImmutabilityPolicy has been created
                  for this container. The hasImmutabilityPolicy public property is
                  set to false by SRP if ImmutabilityPolicy has not been created for
                  this container.'
                type: boolean
              hasLegalHold:
                description: 'HasLegalHold: The hasLegalHold public property is set
                  to true by SRP if there are at least one existing tag. The hasLegalHold
                  public property is set to false by SRP if all existing legal hold
                  tags are cleared out. There can be a maximum of 1000 blob containers
                  with hasLegalHold=true for a given account.'
                type: boolean
              id:
                description: 'Id: Fully qualified resource ID for the resource. Ex
                  - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}'
                type: string
              immutabilityPolicy:
                description: 'ImmutabilityPolicy: The ImmutabilityPolicy property
                  of the container.'
                properties:
                  allowProtectedAppendWrites:
                    description: 'AllowProtectedAppendWrites: This property can only
                      be changed for unlocked time-based retention policies. When
                      enabled, new blocks can be written to an append blob while maintaining
                      immutability protection and compliance. Only new blocks can
                      be added and any existing blocks cannot be modified or deleted.
                      This property cannot be changed with ExtendImmutabilityPolicy
                      API'
                    type: boolean
                  etag:
                    description: 'Etag: ImmutabilityPolicy Etag.'
                    type: string
                  immutabilityPeriodSinceCreationInDays:
                    description: 'ImmutabilityPeriodSinceCreationInDays: The immutability
                      period for the blobs in the container since the policy creation,
                      in days.'
                    type: integer
                  state:
                    description: 'State: The ImmutabilityPolicy state of a blob container,
                      possible values include: Locked and Unlocked.'
                    type: string
                  updateHistory:
                    description: 'UpdateHistory: The ImmutabilityPolicy update history
                      of the blob container.'
                    items:
                      properties:
                        immutabilityPeriodSinceCreationInDays:
                          description: 'ImmutabilityPeriodSinceCreationInDays: The
                            immutability period for the blobs in the container since
                            the policy creation, in days.'
                          type: integer
                        objectIdentifier:
                          description: 'ObjectIdentifier: Returns the Object ID of
                            the user who updated the ImmutabilityPolicy.'
                          type: string
                        tenantId:
                          description: 'TenantId: Returns the Tenant ID that issued
                            the token for the user who updated the ImmutabilityPolicy.'
                          type: string
                        timestamp:
                          description: 'Timestamp: Returns the date and time the ImmutabilityPolicy
                            was updated.'
                          type: string
                        update:
                          description: 'Update: The ImmutabilityPolicy update type
                            of a blob container, possible values include: put, lock
                            and extend.'
                          type: string
                        upn:
                          description: 'Upn: Returns the User Principal Name of the
                            user who updated the ImmutabilityPolicy.'
                          type: string
                      type: object
                    type: array
                type: object
              immutableStorageWithVersioning:
                description: 'ImmutableStorageWithVersioning: The object level immutability
                  property of the container. The property is immutable and can only
                  be set to true at the container creation time. Existing containers
                  must undergo a migration process.'
                properties:
                  enabled:
                    description: 'Enabled: This is an immutable property, when set
                      to true it enables object level immutability at the container
                      level.'
                    type: boolean
                  migrationState:
                    description: 'MigrationState: This property denotes the container
                      level immutability to object level immutability migration state.'
                    type: string
                  timeStamp:
                    description: 'TimeStamp: Returns the date and time the object
                      level immutability was enabled.'
                    type: string
                type: object
              lastModifiedTime:
                description: 'LastModifiedTime: Returns the date and time the container
                  was last modified.'
                type: string
              leaseDuration:
                description: 'LeaseDuration: Specifies whether the lease on a container
                  is of infinite or fixed duration, only when the container is leased.'
                type: string
              leaseState:
                description: 'LeaseState: Lease state of the container.'
                type: string
              leaseStatus:
                description: 'LeaseStatus: The lease status of the container.'
                type: string
              legalHold:
                description: 'LegalHold: The LegalHold property of the container.'
                properties:
                  hasLegalHold:
                    description: 'HasLegalHold: The hasLegalHold public property is
                      set to true by SRP if there are at least one existing tag. The
                      hasLegalHold public property is set to false by SRP if all existing
                      legal hold tags are cleared out. There can be a maximum of 1000
                      blob containers with hasLegalHold=true for a given account.'
                    type: boolean
                  tags:
                    description: 'Tags: The list of LegalHold tags of a blob container.'
                    items:
                      properties:
                        objectIdentifier:
                          description: 'ObjectIdentifier: Returns the Object ID of
                            the user who added the tag.'
                          type: string
                        tag:
                          description: 'Tag: The tag value.'
                          type: string
                        tenantId:
                          description: 'TenantId: Returns the Tenant ID that issued
                            the token for the user who added the tag.'
                          type: string
                        timestamp:
                          description: 'Timestamp: Returns the date and time the tag
                            was added.'
                          type: string
                        upn:
                          description: 'Upn: Returns the User Principal Name of the
                            user who added the tag.'
                          type: string
                      type: object
                    type: array
                type: object
              metadata:
                additionalProperties:
                  type: string
                description: 'Metadata: A name-value pair to associate with the container
                  as metadata.'
                type: object
              name:
                description: 'Name: The name of the resource'
                type: string
              publicAccess:
                description: 'PublicAccess: Specifies whether data in the container
                  may be accessed publicly and the level of access.'
                type: string
              remainingRetentionDays:
                description: 'RemainingRetentionDays: Remaining retention days for
                  soft deleted blob container.'
                type: integer
              type:
                description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines"
                  or "Microsoft.Storage/storageAccounts"'
                type: string
              version:
                description: 'Version: The version of the deleted blob container.'
                type: string
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].severity
      name: Severity
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].message
      name: Message
      type: string
    name: v1alpha1api20210401storage
    schema:
      openAPIV3Schema:
        description: 'Storage version of v1alpha1api20210401.StorageAccountsBlobServicesContainer
          Generated from: https://schema.management.azure.com/schemas/2021-04-01/Microsoft.Storage.json#/resourceDefinitions/storageAccounts_blobServices_containers'
        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: Storage version of v1alpha1api20210401.StorageAccountsBlobServicesContainers_Spec
            properties:
              $propertyBag:
                additionalProperties:
                  type: string
                description: PropertyBag is an unordered set of stashed information
                  that used for properties not directly supported by storage resources,
                  allowing for full fidelity round trip conversions
                type: object
              azureName:
                description: 'AzureName: The name of the resource in Azure. This is
                  often the same as the name of the resource in Kubernetes but it
                  doesn''t have to be.'
                maxLength: 63
                minLength: 3
                type: string
              defaultEncryptionScope:
                type: string
              denyEncryptionScopeOverride:
                type: boolean
              immutableStorageWithVersioning:
                description: 'Storage version of v1alpha1api20210401.ImmutableStorageWithVersioning
                  Generated from: https://schema.management.azure.com/schemas/2021-04-01/Microsoft.Storage.json#/definitions/ImmutableStorageWithVersioning'
                properties:
                  $propertyBag:
                    additionalProperties:
                      type: string
                    description: PropertyBag is an unordered set of stashed information
                      that used for properties not directly supported by storage resources,
                      allowing for full fidelity round trip conversions
                    type: object
                  enabled:
                    type: boolean
                type: object
              location:
                type: string
              metadata:
                additionalProperties:
                  type: string
                type: object
              originalVersion:
                type: string
              owner:
                description: KnownResourceReference is a resource reference to a known
                  type.
                properties:
                  name:
                    description: This is the name of the Kubernetes resource to reference.
                    type: string
                required:
                - name
                type: object
              publicAccess:
                type: string
              tags:
                additionalProperties:
                  type: string
                type: object
            required:
            - owner
            type: object
          status:
            description: Storage version of v1alpha1api20210401.BlobContainer_Status
            properties:
              $propertyBag:
                additionalProperties:
                  type: string
                description: PropertyBag is an unordered set of stashed information
                  that used for properties not directly supported by storage resources,
                  allowing for full fidelity round trip conversions
                type: object
              conditions:
                items:
                  description: Condition defines an extension to status (an observation)
                    of a resource
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transitioned from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: Message is a human readable message indicating
                        details about the transition. This field may be empty.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the .metadata.generation
                        that the condition was set based upon. For instance, if .metadata.generation
                        is currently 12, but the .status.condition[x].observedGeneration
                        is 9, the condition is out of date with respect to the current
                        state of the instance.
                      format: int64
                      type: integer
                    reason:
                      description: Reason for the condition's last transition. Reasons
                        are upper CamelCase (PascalCase) with no spaces. A reason
                        is always provided, this field will not be empty.
                      type: string
                    severity:
                      description: Severity with which to treat failures of this type
                        of condition. For conditions which have positive polarity
                        (Status == True is their normal/healthy state), this will
                        be omitted when Status == True For conditions which have negative
                        polarity (Status == False is their normal/healthy state),
                        this will be omitted when Status == False. This is omitted
                        in all cases when Status == Unknown
                      type: string
                    status:
                      description: Status of the condition, one of True, False, or
                        Unknown.
                      type: string
                    type:
                      description: Type of condition.
                      type: string
                  required:
                  - lastTransitionTime
                  - reason
                  - status
                  - type
                  type: object
                type: array
              defaultEncryptionScope:
                type: string
              deleted:
                type: boolean
              deletedTime:
                type: string
              denyEncryptionScopeOverride:
                type: boolean
              etag:
                type: string
              hasImmutabilityPolicy:
                type: boolean
              hasLegalHold:
                type: boolean
              id:
                type: string
              immutabilityPolicy:
                description: Storage version of v1alpha1api20210401.ImmutabilityPolicyProperties_Status
                properties:
                  $propertyBag:
                    additionalProperties:
                      type: string
                    description: PropertyBag is an unordered set of stashed information
                      that used for properties not directly supported by storage resources,
                      allowing for full fidelity round trip conversions
                    type: object
                  allowProtectedAppendWrites:
                    type: boolean
                  etag:
                    type: string
                  immutabilityPeriodSinceCreationInDays:
                    type: integer
                  state:
                    type: string
                  updateHistory:
                    items:
                      description: Storage version of v1alpha1api20210401.UpdateHistoryProperty_Status
                      properties:
                        $propertyBag:
                          additionalProperties:
                            type: string
                          description: PropertyBag is an unordered set of stashed
                            information that used for properties not directly supported
                            by storage resources, allowing for full fidelity round
                            trip conversions
                          type: object
                        immutabilityPeriodSinceCreationInDays:
                          type: integer
                        objectIdentifier:
                          type: string
                        tenantId:
                          type: string
                        timestamp:
                          type: string
                        update:
                          type: string
                        upn:
                          type: string
                      type: object
                    type: array
                type: object
              immutableStorageWithVersioning:
                description: Storage version of v1alpha1api20210401.ImmutableStorageWithVersioning_Status
                properties:
                  $propertyBag:
                    additionalProperties:
                      type: string
                    description: PropertyBag is an unordered set of stashed information
                      that used for properties not directly supported by storage resources,
                      allowing for full fidelity round trip conversions
                    type: object
                  enabled:
                    type: boolean
                  migrationState:
                    type: string
                  timeStamp:
                    type: string
                type: object
              lastModifiedTime:
                type: string
              leaseDuration:
                type: string
              leaseState:
                type: string
              leaseStatus:
                type: string
              legalHold:
                description: Storage version of v1alpha1api20210401.LegalHoldProperties_Status
                properties:
                  $propertyBag:
                    additionalProperties:
                      type: string
                    description: PropertyBag is an unordered set of stashed information
                      that used for properties not directly supported by storage resources,
                      allowing for full fidelity round trip conversions
                    type: object
                  hasLegalHold:
                    type: boolean
                  tags:
                    items:
                      description: Storage version of v1alpha1api20210401.TagProperty_Status
                      properties:
                        $propertyBag:
                          additionalProperties:
                            type: string
                          description: PropertyBag is an unordered set of stashed
                            information that used for properties not directly supported
                            by storage resources, allowing for full fidelity round
                            trip conversions
                          type: object
                        objectIdentifier:
                          type: string
                        tag:
                          type: string
                        tenantId:
                          type: string
                        timestamp:
                          type: string
                        upn:
                          type: string
                      type: object
                    type: array
                type: object
              metadata:
                additionalProperties:
                  type: string
                type: object
              name:
                type: string
              publicAccess:
                type: string
              remainingRetentionDays:
                type: integer
              type:
                type: string
              version:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
