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: virtualnetworksvirtualnetworkpeerings.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: VirtualNetworksVirtualNetworkPeering
    listKind: VirtualNetworksVirtualNetworkPeeringList
    plural: virtualnetworksvirtualnetworkpeerings
    singular: virtualnetworksvirtualnetworkpeering
  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/virtualNetworks_virtualNetworkPeerings'
        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:
              allowForwardedTraffic:
                description: 'AllowForwardedTraffic: Whether the forwarded traffic
                  from the VMs in the local virtual network will be allowed/disallowed
                  in remote virtual network.'
                type: boolean
              allowGatewayTransit:
                description: 'AllowGatewayTransit: If gateway links can be used in
                  remote virtual networking to link to this virtual network.'
                type: boolean
              allowVirtualNetworkAccess:
                description: 'AllowVirtualNetworkAccess: Whether the VMs in the local
                  virtual network space would be able to access the VMs in remote
                  virtual network space.'
                type: boolean
              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
              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
              peeringState:
                description: 'PeeringState: The status of the virtual network peering.'
                enum:
                - Connected
                - Disconnected
                - Initiated
                type: string
              remoteAddressSpace:
                description: 'RemoteAddressSpace: The reference to the remote virtual
                  network address space.'
                properties:
                  addressPrefixes:
                    description: 'AddressPrefixes: A list of address blocks reserved
                      for this virtual network in CIDR notation.'
                    items:
                      type: string
                    type: array
                required:
                - addressPrefixes
                type: object
              remoteBgpCommunities:
                description: 'RemoteBgpCommunities: The reference to the remote virtual
                  network''s Bgp Communities.'
                properties:
                  virtualNetworkCommunity:
                    description: 'VirtualNetworkCommunity: The BGP community associated
                      with the virtual network.'
                    type: string
                required:
                - virtualNetworkCommunity
                type: object
              remoteVirtualNetwork:
                description: 'RemoteVirtualNetwork: The reference to the remote virtual
                  network. The remote virtual network can be in the same or different
                  region (preview). See here to register for the preview and learn
                  more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering).'
                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
              tags:
                additionalProperties:
                  type: string
                description: 'Tags: Name-value pairs to add to the resource'
                type: object
              useRemoteGateways:
                description: 'UseRemoteGateways: If remote gateways can be used on
                  this virtual network. If the flag is set to true, and allowGatewayTransit
                  on remote peering is also true, virtual network will use gateways
                  of remote virtual network for transit. Only one peering can have
                  this flag set to true. This flag cannot be set if virtual network
                  already has a gateway.'
                type: boolean
            required:
            - owner
            - remoteVirtualNetwork
            type: object
          status:
            properties:
              allowForwardedTraffic:
                description: 'AllowForwardedTraffic: Whether the forwarded traffic
                  from the VMs in the local virtual network will be allowed/disallowed
                  in remote virtual network.'
                type: boolean
              allowGatewayTransit:
                description: 'AllowGatewayTransit: If gateway links can be used in
                  remote virtual networking to link to this virtual network.'
                type: boolean
              allowVirtualNetworkAccess:
                description: 'AllowVirtualNetworkAccess: Whether the VMs in the local
                  virtual network space would be able to access the VMs in remote
                  virtual network space.'
                type: boolean
              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
              doNotVerifyRemoteGateways:
                description: 'DoNotVerifyRemoteGateways: If we need to verify the
                  provisioning state of the remote gateway.'
                type: boolean
              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
              peeringState:
                description: 'PeeringState: The status of the virtual network peering.'
                type: string
              provisioningState:
                description: 'ProvisioningState: The provisioning state of the virtual
                  network peering resource.'
                type: string
              remoteAddressSpace:
                description: 'RemoteAddressSpace: The reference to the remote virtual
                  network address space.'
                properties:
                  addressPrefixes:
                    description: 'AddressPrefixes: A list of address blocks reserved
                      for this virtual network in CIDR notation.'
                    items:
                      type: string
                    type: array
                type: object
              remoteBgpCommunities:
                description: 'RemoteBgpCommunities: The reference to the remote virtual
                  network''s Bgp Communities.'
                properties:
                  regionalCommunity:
                    description: 'RegionalCommunity: The BGP community associated
                      with the region of the virtual network.'
                    type: string
                  virtualNetworkCommunity:
                    description: 'VirtualNetworkCommunity: The BGP community associated
                      with the virtual network.'
                    type: string
                required:
                - virtualNetworkCommunity
                type: object
              remoteVirtualNetwork:
                description: 'RemoteVirtualNetwork: The reference to the remote virtual
                  network. The remote virtual network can be in the same or different
                  region (preview). See here to register for the preview and learn
                  more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering).'
                properties:
                  id:
                    description: 'Id: Resource ID.'
                    type: string
                type: object
              resourceGuid:
                description: 'ResourceGuid: The resourceGuid property of the Virtual
                  Network peering resource.'
                type: string
              type:
                description: 'Type: Resource type.'
                type: string
              useRemoteGateways:
                description: 'UseRemoteGateways: If remote gateways can be used on
                  this virtual network. If the flag is set to true, and allowGatewayTransit
                  on remote peering is also true, virtual network will use gateways
                  of remote virtual network for transit. Only one peering can have
                  this flag set to true. This flag cannot be set if virtual network
                  already has a gateway.'
                type: boolean
            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.VirtualNetworksVirtualNetworkPeering
          Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/resourceDefinitions/virtualNetworks_virtualNetworkPeerings'
        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.VirtualNetworksVirtualNetworkPeerings_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
              allowForwardedTraffic:
                type: boolean
              allowGatewayTransit:
                type: boolean
              allowVirtualNetworkAccess:
                type: boolean
              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
              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
              peeringState:
                type: string
              remoteAddressSpace:
                description: 'Storage version of v1alpha1api20201101.AddressSpace
                  Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/definitions/AddressSpace'
                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
                  addressPrefixes:
                    items:
                      type: string
                    type: array
                type: object
              remoteBgpCommunities:
                description: 'Storage version of v1alpha1api20201101.VirtualNetworkBgpCommunities
                  Generated from: https://schema.management.azure.com/schemas/2020-11-01/Microsoft.Network.json#/definitions/VirtualNetworkBgpCommunities'
                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
                  virtualNetworkCommunity:
                    type: string
                type: object
              remoteVirtualNetwork:
                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
              tags:
                additionalProperties:
                  type: string
                type: object
              useRemoteGateways:
                type: boolean
            required:
            - owner
            type: object
          status:
            description: Storage version of v1alpha1api20201101.VirtualNetworkPeering_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
              allowForwardedTraffic:
                type: boolean
              allowGatewayTransit:
                type: boolean
              allowVirtualNetworkAccess:
                type: boolean
              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
              doNotVerifyRemoteGateways:
                type: boolean
              etag:
                type: string
              id:
                type: string
              name:
                type: string
              peeringState:
                type: string
              provisioningState:
                type: string
              remoteAddressSpace:
                description: Storage version of v1alpha1api20201101.AddressSpace_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
                  addressPrefixes:
                    items:
                      type: string
                    type: array
                type: object
              remoteBgpCommunities:
                description: Storage version of v1alpha1api20201101.VirtualNetworkBgpCommunities_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
                  regionalCommunity:
                    type: string
                  virtualNetworkCommunity:
                    type: string
                type: object
              remoteVirtualNetwork:
                description: Storage version of v1alpha1api20201101.SubResource_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
                  id:
                    type: string
                type: object
              resourceGuid:
                type: string
              type:
                type: string
              useRemoteGateways:
                type: boolean
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
