apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: authorizationpolicies.security.istio.io
  labels:
    app: istio-pilot
    chart: istio
    heritage: Tiller
    istio: security
    release: istio
  annotations:
    "helm.sh/resource-policy": keep
spec:
  group: security.istio.io
  names:
    kind: AuthorizationPolicy
    categories:
    - istio-io
    - security-istio-io
    listKind: AuthorizationPolicyList
    plural: authorizationpolicies
    singular: authorizationpolicy
  scope: Namespaced
  versions:
  - name: v1beta1
    schema:
      openAPIV3Schema:
        type: object
        properties:
          spec:
            type: object
            description: 'Configuration for access control on workloads. See more details at: https://istio.io/docs/reference/config/security/authorization-policy.html'
            oneOf:
            - not:
                anyOf:
                - required:
                  - provider
            - required:
              - provider
            properties:
              selector:
                type: object
                description: Optional.
                properties:
                  matchLabels:
                    type: object
                    additionalProperties:
                      type: string
              action:
                type: string
                description: Optional.
                enum:
                - ALLOW
                - DENY
                - AUDIT
                - CUSTOM
              provider:
                type: object
                description: Specifies detailed configuration of the CUSTOM action.
                properties:
                  name:
                    type: string
                    description: Specifies the name of the extension provider.
              rules:
                type: array
                description: Optional.
                items:
                  type: object
                  properties:
                    from:
                      type: array
                      description: Optional.
                      items:
                        type: object
                        properties:
                          source:
                            type: object
                            description: Source specifies the source of a request.
                            properties:
                              ipBlocks:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              namespaces:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notIpBlocks:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notNamespaces:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notPrincipals:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notRemoteIpBlocks:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notRequestPrincipals:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              principals:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              remoteIpBlocks:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              requestPrincipals:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                    to:
                      type: array
                      description: Optional.
                      items:
                        type: object
                        properties:
                          operation:
                            type: object
                            description: Operation specifies the operation of a request.
                            properties:
                              ports:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              hosts:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              methods:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notHosts:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notMethods:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notPaths:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              notPorts:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                              paths:
                                type: array
                                description: Optional.
                                items:
                                  type: string
                    when:
                      type: array
                      description: Optional.
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            description: The name of an Istio attribute.
                          notValues:
                            type: array
                            description: Optional.
                            items:
                              type: string
                          values:
                            type: array
                            description: Optional.
                            items:
                              type: string
          status:
            type: object
            x-kubernetes-preserve-unknown-fields: true
    served: true
    storage: true
    subresources:
      status: {}
