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: networksecuritygroupssecurityrules.network.azure.com
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: azureserviceoperator-webhook-service
          namespace: azureserviceoperator-system
          path: /convert
      conversionReviewVersions:
      - v1beta1
  group: network.azure.com
  names:
    kind: NetworkSecurityGroupsSecurityRule
    listKind: NetworkSecurityGroupsSecurityRuleList
    plural: networksecuritygroupssecurityrules
    singular: networksecuritygroupssecurityrule
  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: v1alpha1api20201101
    schema:
      openAPIV3Schema:
        description: 'Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/resourceDefinitions/networkSecurityGroups_securityRules'
        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:
              access:
                description: 'Access: The network traffic is allowed or denied.'
                enum:
                - Allow
                - Deny
                type: string
              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.'
                type: string
              description:
                description: 'Description: A description for this rule. Restricted
                  to 140 chars.'
                type: string
              destinationAddressPrefix:
                description: 'DestinationAddressPrefix: The destination address prefix.
                  CIDR or destination IP range. Asterisk ''*'' can also be used to
                  match all source IPs. Default tags such as ''VirtualNetwork'', ''AzureLoadBalancer''
                  and ''Internet'' can also be used.'
                type: string
              destinationAddressPrefixes:
                description: 'DestinationAddressPrefixes: The destination address
                  prefixes. CIDR or destination IP ranges.'
                items:
                  type: string
                type: array
              destinationApplicationSecurityGroups:
                description: 'DestinationApplicationSecurityGroups: The application
                  security group specified as destination.'
                items:
                  description: 'Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/definitions/SubResource'
                  properties:
                    reference:
                      description: 'Reference: Resource ID.'
                      properties:
                        armId:
                          description: 'TODO: The below regex may be overly restrictive
                            ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
                            The /resourcegroups/{resourceGroupName} bit is optional
                            as some resources are scoped at the subscription level
                            ARMID is mutually exclusive with Group, Kind, Namespace
                            and Name.'
                          pattern: (?i)^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$
                          type: string
                        group:
                          description: Group is the Kubernetes group of the resource.
                          type: string
                        kind:
                          description: Kind is the Kubernetes kind of the resource.
                          type: string
                        name:
                          description: Name is the Kubernetes name of the resource.
                          type: string
                      type: object
                  required:
                  - reference
                  type: object
                type: array
              destinationPortRange:
                description: 'DestinationPortRange: The destination port or range.
                  Integer or range between 0 and 65535. Asterisk ''*'' can also be
                  used to match all ports.'
                type: string
              destinationPortRanges:
                description: 'DestinationPortRanges: The destination port ranges.'
                items:
                  type: string
                type: array
              direction:
                description: 'Direction: The direction of the rule. The direction
                  specifies if rule will be evaluated on incoming or outgoing traffic.'
                enum:
                - Inbound
                - Outbound
                type: string
              location:
                description: 'Location: Location to deploy resource to'
                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
              priority:
                description: 'Priority: The priority of the rule. The value can be
                  between 100 and 4096. The priority number must be unique for each
                  rule in the collection. The lower the priority number, the higher
                  the priority of the rule.'
                type: integer
              protocol:
                description: 'Protocol: Network protocol this rule applies to.'
                enum:
                - Ah
                - Esp
                - Icmp
                - '*'
                - Tcp
                - Udp
                type: string
              sourceAddressPrefix:
                description: 'SourceAddressPrefix: The CIDR or source IP range. Asterisk
                  ''*'' can also be used to match all source IPs. Default tags such
                  as ''VirtualNetwork'', ''AzureLoadBalancer'' and ''Internet'' can
                  also be used. If this is an ingress rule, specifies where network
                  traffic originates from.'
                type: string
              sourceAddressPrefixes:
                description: 'SourceAddressPrefixes: The CIDR or source IP ranges.'
                items:
                  type: string
                type: array
              sourceApplicationSecurityGroups:
                description: 'SourceApplicationSecurityGroups: The application security
                  group specified as source.'
                items:
                  description: 'Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/definitions/SubResource'
                  properties:
                    reference:
                      description: 'Reference: Resource ID.'
                      properties:
                        armId:
                          description: 'TODO: The below regex may be overly restrictive
                            ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
                            The /resourcegroups/{resourceGroupName} bit is optional
                            as some resources are scoped at the subscription level
                            ARMID is mutually exclusive with Group, Kind, Namespace
                            and Name.'
                          pattern: (?i)^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$
                          type: string
                        group:
                          description: Group is the Kubernetes group of the resource.
                          type: string
                        kind:
                          description: Kind is the Kubernetes kind of the resource.
                          type: string
                        name:
                          description: Name is the Kubernetes name of the resource.
                          type: string
                      type: object
                  required:
                  - reference
                  type: object
                type: array
              sourcePortRange:
                description: 'SourcePortRange: The source port or range. Integer or
                  range between 0 and 65535. Asterisk ''*'' can also be used to match
                  all ports.'
                type: string
              sourcePortRanges:
                description: 'SourcePortRanges: The source port ranges.'
                items:
                  type: string
                type: array
              tags:
                additionalProperties:
                  type: string
                description: 'Tags: Name-value pairs to add to the resource'
                type: object
            required:
            - access
            - direction
            - owner
            - priority
            - protocol
            type: object
          status:
            properties:
              access:
                description: 'Access: The network traffic is allowed or denied.'
                type: string
              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
              description:
                description: 'Description: A description for this rule. Restricted
                  to 140 chars.'
                type: string
              destinationAddressPrefix:
                description: 'DestinationAddressPrefix: The destination address prefix.
                  CIDR or destination IP range. Asterisk ''*'' can also be used to
                  match all source IPs. Default tags such as ''VirtualNetwork'', ''AzureLoadBalancer''
                  and ''Internet'' can also be used.'
                type: string
              destinationAddressPrefixes:
                description: 'DestinationAddressPrefixes: The destination address
                  prefixes. CIDR or destination IP ranges.'
                items:
                  type: string
                type: array
              destinationApplicationSecurityGroups:
                description: 'DestinationApplicationSecurityGroups: The application
                  security group specified as destination.'
                items:
                  properties:
                    id:
                      description: 'Id: Resource ID.'
                      type: string
                  type: object
                type: array
              destinationPortRange:
                description: 'DestinationPortRange: The destination port or range.
                  Integer or range between 0 and 65535. Asterisk ''*'' can also be
                  used to match all ports.'
                type: string
              destinationPortRanges:
                description: 'DestinationPortRanges: The destination port ranges.'
                items:
                  type: string
                type: array
              direction:
                description: 'Direction: The direction of the rule. The direction
                  specifies if rule will be evaluated on incoming or outgoing traffic.'
                type: string
              etag:
                description: 'Etag: A unique read-only string that changes whenever
                  the resource is updated.'
                type: string
              id:
                description: 'Id: Resource ID.'
                type: string
              name:
                description: 'Name: The name of the resource that is unique within
                  a resource group. This name can be used to access the resource.'
                type: string
              priority:
                description: 'Priority: The priority of the rule. The value can be
                  between 100 and 4096. The priority number must be unique for each
                  rule in the collection. The lower the priority number, the higher
                  the priority of the rule.'
                type: integer
              protocol:
                description: 'Protocol: Network protocol this rule applies to.'
                type: string
              provisioningState:
                description: 'ProvisioningState: The provisioning state of the security
                  rule resource.'
                type: string
              sourceAddressPrefix:
                description: 'SourceAddressPrefix: The CIDR or source IP range. Asterisk
                  ''*'' can also be used to match all source IPs. Default tags such
                  as ''VirtualNetwork'', ''AzureLoadBalancer'' and ''Internet'' can
                  also be used. If this is an ingress rule, specifies where network
                  traffic originates from.'
                type: string
              sourceAddressPrefixes:
                description: 'SourceAddressPrefixes: The CIDR or source IP ranges.'
                items:
                  type: string
                type: array
              sourceApplicationSecurityGroups:
                description: 'SourceApplicationSecurityGroups: The application security
                  group specified as source.'
                items:
                  properties:
                    id:
                      description: 'Id: Resource ID.'
                      type: string
                  type: object
                type: array
              sourcePortRange:
                description: 'SourcePortRange: The source port or range. Integer or
                  range between 0 and 65535. Asterisk ''*'' can also be used to match
                  all ports.'
                type: string
              sourcePortRanges:
                description: 'SourcePortRanges: The source port ranges.'
                items:
                  type: string
                type: array
              type:
                description: 'Type: The type of the resource.'
                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: v1alpha1api20201101storage
    schema:
      openAPIV3Schema:
        description: 'Storage version of v1alpha1api20201101.NetworkSecurityGroupsSecurityRule
          Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/resourceDefinitions/networkSecurityGroups_securityRules'
        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 v1alpha1api20201101.NetworkSecurityGroupsSecurityRules_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
              access:
                type: string
              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.'
                type: string
              description:
                type: string
              destinationAddressPrefix:
                type: string
              destinationAddressPrefixes:
                items:
                  type: string
                type: array
              destinationApplicationSecurityGroups:
                items:
                  description: 'Storage version of v1alpha1api20201101.SubResource
                    Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/definitions/SubResource'
                  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
                    reference:
                      description: 'Reference: Resource ID.'
                      properties:
                        armId:
                          description: 'TODO: The below regex may be overly restrictive
                            ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
                            The /resourcegroups/{resourceGroupName} bit is optional
                            as some resources are scoped at the subscription level
                            ARMID is mutually exclusive with Group, Kind, Namespace
                            and Name.'
                          pattern: (?i)^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$
                          type: string
                        group:
                          description: Group is the Kubernetes group of the resource.
                          type: string
                        kind:
                          description: Kind is the Kubernetes kind of the resource.
                          type: string
                        name:
                          description: Name is the Kubernetes name of the resource.
                          type: string
                      type: object
                  required:
                  - reference
                  type: object
                type: array
              destinationPortRange:
                type: string
              destinationPortRanges:
                items:
                  type: string
                type: array
              direction:
                type: string
              location:
                type: string
              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
              priority:
                type: integer
              protocol:
                type: string
              sourceAddressPrefix:
                type: string
              sourceAddressPrefixes:
                items:
                  type: string
                type: array
              sourceApplicationSecurityGroups:
                items:
                  description: 'Storage version of v1alpha1api20201101.SubResource
                    Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/definitions/SubResource'
                  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
                    reference:
                      description: 'Reference: Resource ID.'
                      properties:
                        armId:
                          description: 'TODO: The below regex may be overly restrictive
                            ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
                            The /resourcegroups/{resourceGroupName} bit is optional
                            as some resources are scoped at the subscription level
                            ARMID is mutually exclusive with Group, Kind, Namespace
                            and Name.'
                          pattern: (?i)^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$
                          type: string
                        group:
                          description: Group is the Kubernetes group of the resource.
                          type: string
                        kind:
                          description: Kind is the Kubernetes kind of the resource.
                          type: string
                        name:
                          description: Name is the Kubernetes name of the resource.
                          type: string
                      type: object
                  required:
                  - reference
                  type: object
                type: array
              sourcePortRange:
                type: string
              sourcePortRanges:
                items:
                  type: string
                type: array
              tags:
                additionalProperties:
                  type: string
                type: object
            required:
            - owner
            type: object
          status:
            description: Storage version of v1alpha1api20201101.SecurityRule_Status_NetworkSecurityGroupsSecurityRule_SubResourceEmbedded
            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
              access:
                type: string
              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
              description:
                type: string
              destinationAddressPrefix:
                type: string
              destinationAddressPrefixes:
                items:
                  type: string
                type: array
              destinationApplicationSecurityGroups:
                items:
                  description: Storage version of v1alpha1api20201101.ApplicationSecurityGroup_Status_NetworkSecurityGroupsSecurityRule_SubResourceEmbedded
                  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
                    id:
                      type: string
                  type: object
                type: array
              destinationPortRange:
                type: string
              destinationPortRanges:
                items:
                  type: string
                type: array
              direction:
                type: string
              etag:
                type: string
              id:
                type: string
              name:
                type: string
              priority:
                type: integer
              protocol:
                type: string
              provisioningState:
                type: string
              sourceAddressPrefix:
                type: string
              sourceAddressPrefixes:
                items:
                  type: string
                type: array
              sourceApplicationSecurityGroups:
                items:
                  description: Storage version of v1alpha1api20201101.ApplicationSecurityGroup_Status_NetworkSecurityGroupsSecurityRule_SubResourceEmbedded
                  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
                    id:
                      type: string
                  type: object
                type: array
              sourcePortRange:
                type: string
              sourcePortRanges:
                items:
                  type: string
                type: array
              type:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
