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: domains.eventgrid.azure.com
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: azureserviceoperator-webhook-service
          namespace: azureserviceoperator-system
          path: /convert
      conversionReviewVersions:
      - v1beta1
  group: eventgrid.azure.com
  names:
    kind: Domain
    listKind: DomainList
    plural: domains
    singular: domain
  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: v1alpha1api20200601
    schema:
      openAPIV3Schema:
        description: 'Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/resourceDefinitions/domains'
        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.'
                type: string
              inboundIpRules:
                description: 'InboundIpRules: This can be used to restrict traffic
                  from specific IPs instead of all IPs. Note: These are considered
                  only if PublicNetworkAccess is enabled.'
                items:
                  description: 'Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/InboundIpRule'
                  properties:
                    action:
                      description: 'Action: Action to perform based on the match or
                        no match of the IpMask.'
                      enum:
                      - Allow
                      type: string
                    ipMask:
                      description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.'
                      type: string
                  type: object
                type: array
              inputSchema:
                description: 'InputSchema: This determines the format that Event Grid
                  should expect for incoming events published to the domain.'
                enum:
                - CloudEventSchemaV1_0
                - CustomEventSchema
                - EventGridSchema
                type: string
              inputSchemaMapping:
                description: 'InputSchemaMapping: By default, Event Grid expects events
                  to be in the Event Grid event schema. Specifying an input schema
                  mapping enables publishing to Event Grid using a custom input schema.
                  Currently, the only supported type of InputSchemaMapping is ''JsonInputSchemaMapping''.'
                properties:
                  inputSchemaMappingType:
                    enum:
                    - Json
                    type: string
                  properties:
                    description: 'Properties: This can be used to map properties of
                      a source schema (or default values, for certain supported properties)
                      to properties of the EventGridEvent schema.'
                    properties:
                      dataVersion:
                        description: 'DataVersion: This is used to express the source
                          of an input schema mapping for a single target field in
                          the Event Grid Event schema. This is currently used in the
                          mappings for the ''subject'', ''eventtype'' and ''dataversion''
                          properties. This represents a field in the input event schema
                          along with a default value to be used, and at least one
                          of these two properties should be provided.'
                        properties:
                          defaultValue:
                            description: 'DefaultValue: The default value to be used
                              for mapping when a SourceField is not provided or if
                              there''s no property with the specified name in the
                              published JSON event payload.'
                            type: string
                          sourceField:
                            description: 'SourceField: Name of a field in the input
                              event schema that''s to be used as the source of a mapping.'
                            type: string
                        type: object
                      eventTime:
                        description: 'EventTime: This is used to express the source
                          of an input schema mapping for a single target field in
                          the Event Grid Event schema. This is currently used in the
                          mappings for the ''id'', ''topic'' and ''eventtime'' properties.
                          This represents a field in the input event schema.'
                        properties:
                          sourceField:
                            description: 'SourceField: Name of a field in the input
                              event schema that''s to be used as the source of a mapping.'
                            type: string
                        type: object
                      eventType:
                        description: 'EventType: This is used to express the source
                          of an input schema mapping for a single target field in
                          the Event Grid Event schema. This is currently used in the
                          mappings for the ''subject'', ''eventtype'' and ''dataversion''
                          properties. This represents a field in the input event schema
                          along with a default value to be used, and at least one
                          of these two properties should be provided.'
                        properties:
                          defaultValue:
                            description: 'DefaultValue: The default value to be used
                              for mapping when a SourceField is not provided or if
                              there''s no property with the specified name in the
                              published JSON event payload.'
                            type: string
                          sourceField:
                            description: 'SourceField: Name of a field in the input
                              event schema that''s to be used as the source of a mapping.'
                            type: string
                        type: object
                      id:
                        description: 'Id: This is used to express the source of an
                          input schema mapping for a single target field in the Event
                          Grid Event schema. This is currently used in the mappings
                          for the ''id'', ''topic'' and ''eventtime'' properties.
                          This represents a field in the input event schema.'
                        properties:
                          sourceField:
                            description: 'SourceField: Name of a field in the input
                              event schema that''s to be used as the source of a mapping.'
                            type: string
                        type: object
                      subject:
                        description: 'Subject: This is used to express the source
                          of an input schema mapping for a single target field in
                          the Event Grid Event schema. This is currently used in the
                          mappings for the ''subject'', ''eventtype'' and ''dataversion''
                          properties. This represents a field in the input event schema
                          along with a default value to be used, and at least one
                          of these two properties should be provided.'
                        properties:
                          defaultValue:
                            description: 'DefaultValue: The default value to be used
                              for mapping when a SourceField is not provided or if
                              there''s no property with the specified name in the
                              published JSON event payload.'
                            type: string
                          sourceField:
                            description: 'SourceField: Name of a field in the input
                              event schema that''s to be used as the source of a mapping.'
                            type: string
                        type: object
                      topic:
                        description: 'Topic: This is used to express the source of
                          an input schema mapping for a single target field in the
                          Event Grid Event schema. This is currently used in the mappings
                          for the ''id'', ''topic'' and ''eventtime'' properties.
                          This represents a field in the input event schema.'
                        properties:
                          sourceField:
                            description: 'SourceField: Name of a field in the input
                              event schema that''s to be used as the source of a mapping.'
                            type: string
                        type: object
                    type: object
                required:
                - inputSchemaMappingType
                type: object
              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
              publicNetworkAccess:
                description: 'PublicNetworkAccess: This determines if traffic is allowed
                  over public network. By default it is enabled. You can further restrict
                  to specific IPs by configuring <seealso cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainProperties.InboundIpRules"
                  />.'
                enum:
                - Disabled
                - Enabled
                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
              endpoint:
                description: 'Endpoint: Endpoint for the domain.'
                type: string
              id:
                description: 'Id: Fully qualified identifier of the resource.'
                type: string
              inboundIpRules:
                description: 'InboundIpRules: This can be used to restrict traffic
                  from specific IPs instead of all IPs. Note: These are considered
                  only if PublicNetworkAccess is enabled.'
                items:
                  properties:
                    action:
                      description: 'Action: Action to perform based on the match or
                        no match of the IpMask.'
                      type: string
                    ipMask:
                      description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.'
                      type: string
                  type: object
                type: array
              inputSchema:
                description: 'InputSchema: This determines the format that Event Grid
                  should expect for incoming events published to the domain.'
                type: string
              inputSchemaMapping:
                description: 'InputSchemaMapping: Information about the InputSchemaMapping
                  which specified the info about mapping event payload.'
                properties:
                  inputSchemaMappingType:
                    description: 'InputSchemaMappingType: Type of the custom mapping'
                    type: string
                required:
                - inputSchemaMappingType
                type: object
              location:
                description: 'Location: Location of the resource.'
                type: string
              metricResourceId:
                description: 'MetricResourceId: Metric resource id for the domain.'
                type: string
              name:
                description: 'Name: Name of the resource.'
                type: string
              privateEndpointConnections:
                description: 'PrivateEndpointConnections: List of private endpoint
                  connections.'
                items:
                  properties:
                    id:
                      description: 'Id: Fully qualified identifier of the resource.'
                      type: string
                  type: object
                type: array
              provisioningState:
                description: 'ProvisioningState: Provisioning state of the domain.'
                type: string
              publicNetworkAccess:
                description: 'PublicNetworkAccess: This determines if traffic is allowed
                  over public network. By default it is enabled. You can further restrict
                  to specific IPs by configuring <seealso cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainProperties.InboundIpRules"
                  />'
                type: string
              systemData:
                description: 'SystemData: The system metadata relating to Domain resource.'
                properties:
                  createdAt:
                    description: 'CreatedAt: The timestamp of resource creation (UTC).'
                    type: string
                  createdBy:
                    description: 'CreatedBy: The identity that created the resource.'
                    type: string
                  createdByType:
                    description: 'CreatedByType: The type of identity that created
                      the resource.'
                    type: string
                  lastModifiedAt:
                    description: 'LastModifiedAt: The timestamp of resource last modification
                      (UTC)'
                    type: string
                  lastModifiedBy:
                    description: 'LastModifiedBy: The identity that last modified
                      the resource.'
                    type: string
                  lastModifiedByType:
                    description: 'LastModifiedByType: The type of identity that last
                      modified the resource.'
                    type: string
                type: object
              tags:
                additionalProperties:
                  type: string
                description: 'Tags: Tags of the resource.'
                type: object
              type:
                description: 'Type: 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: v1alpha1api20200601storage
    schema:
      openAPIV3Schema:
        description: 'Storage version of v1alpha1api20200601.Domain Generated from:
          https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/resourceDefinitions/domains'
        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 v1alpha1api20200601.Domains_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.'
                type: string
              inboundIpRules:
                items:
                  description: 'Storage version of v1alpha1api20200601.InboundIpRule
                    Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/InboundIpRule'
                  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
                    action:
                      type: string
                    ipMask:
                      type: string
                  type: object
                type: array
              inputSchema:
                type: string
              inputSchemaMapping:
                description: 'Storage version of v1alpha1api20200601.JsonInputSchemaMapping
                  Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/JsonInputSchemaMapping'
                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
                  inputSchemaMappingType:
                    type: string
                  properties:
                    description: 'Storage version of v1alpha1api20200601.JsonInputSchemaMappingProperties
                      Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/JsonInputSchemaMappingProperties'
                    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
                      dataVersion:
                        description: 'Storage version of v1alpha1api20200601.JsonFieldWithDefault
                          Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/JsonFieldWithDefault'
                        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
                          defaultValue:
                            type: string
                          sourceField:
                            type: string
                        type: object
                      eventTime:
                        description: 'Storage version of v1alpha1api20200601.JsonField
                          Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/JsonField'
                        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
                          sourceField:
                            type: string
                        type: object
                      eventType:
                        description: 'Storage version of v1alpha1api20200601.JsonFieldWithDefault
                          Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/JsonFieldWithDefault'
                        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
                          defaultValue:
                            type: string
                          sourceField:
                            type: string
                        type: object
                      id:
                        description: 'Storage version of v1alpha1api20200601.JsonField
                          Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/JsonField'
                        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
                          sourceField:
                            type: string
                        type: object
                      subject:
                        description: 'Storage version of v1alpha1api20200601.JsonFieldWithDefault
                          Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/JsonFieldWithDefault'
                        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
                          defaultValue:
                            type: string
                          sourceField:
                            type: string
                        type: object
                      topic:
                        description: 'Storage version of v1alpha1api20200601.JsonField
                          Generated from: https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/definitions/JsonField'
                        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
                          sourceField:
                            type: string
                        type: object
                    type: object
                type: object
              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
              publicNetworkAccess:
                type: string
              tags:
                additionalProperties:
                  type: string
                type: object
            required:
            - owner
            type: object
          status:
            description: Storage version of v1alpha1api20200601.Domain_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
              endpoint:
                type: string
              id:
                type: string
              inboundIpRules:
                items:
                  description: Storage version of v1alpha1api20200601.InboundIpRule_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
                    action:
                      type: string
                    ipMask:
                      type: string
                  type: object
                type: array
              inputSchema:
                type: string
              inputSchemaMapping:
                description: Storage version of v1alpha1api20200601.InputSchemaMapping_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
                  inputSchemaMappingType:
                    type: string
                type: object
              location:
                type: string
              metricResourceId:
                type: string
              name:
                type: string
              privateEndpointConnections:
                items:
                  description: Storage version of v1alpha1api20200601.PrivateEndpointConnection_Status_Domain_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
              provisioningState:
                type: string
              publicNetworkAccess:
                type: string
              systemData:
                description: Storage version of v1alpha1api20200601.SystemData_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
                  createdAt:
                    type: string
                  createdBy:
                    type: string
                  createdByType:
                    type: string
                  lastModifiedAt:
                    type: string
                  lastModifiedBy:
                    type: string
                  lastModifiedByType:
                    type: string
                type: object
              tags:
                additionalProperties:
                  type: string
                type: object
              type:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
