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: components.insights.azure.com
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: azureserviceoperator-webhook-service
          namespace: azureserviceoperator-system
          path: /convert
      conversionReviewVersions:
      - v1beta1
  group: insights.azure.com
  names:
    kind: Component
    listKind: ComponentList
    plural: components
    singular: component
  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: v1alpha1api20200202
    schema:
      openAPIV3Schema:
        description: 'Generated from: https://schema.management.azure.com/schemas/2020-02-02/Microsoft.Insights.Application.json#/resourceDefinitions/components'
        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:
              Application_Type:
                description: 'ApplicationType: Type of application being monitored.'
                enum:
                - other
                - web
                type: string
              DisableIpMasking:
                description: 'DisableIpMasking: Disable IP masking.'
                type: boolean
              DisableLocalAuth:
                description: 'DisableLocalAuth: Disable Non-AAD based Auth.'
                type: boolean
              Flow_Type:
                description: 'FlowType: Used by the Application Insights system to
                  determine what kind of flow this component was created by. This
                  is to be set to ''Bluefield'' when creating/updating a component
                  via the REST API.'
                enum:
                - Bluefield
                type: string
              ForceCustomerStorageForProfiler:
                description: 'ForceCustomerStorageForProfiler: Force users to create
                  their own storage account for profiler and debugger.'
                type: boolean
              HockeyAppId:
                description: 'HockeyAppId: The unique application ID created when
                  a new application is added to HockeyApp, used for communications
                  with HockeyApp.'
                type: string
              ImmediatePurgeDataOn30Days:
                description: 'ImmediatePurgeDataOn30Days: Purge data immediately after
                  30 days.'
                type: boolean
              IngestionMode:
                description: 'IngestionMode: Indicates the flow of the ingestion.'
                enum:
                - ApplicationInsights
                - ApplicationInsightsWithDiagnosticSettings
                - LogAnalytics
                type: string
              Request_Source:
                description: 'RequestSource: Describes what tool created this Application
                  Insights component. Customers using this API should set this to
                  the default ''rest''.'
                enum:
                - rest
                type: string
              RetentionInDays:
                description: 'RetentionInDays: Retention period in days.'
                type: integer
              SamplingPercentage:
                description: 'SamplingPercentage: Percentage of the data produced
                  by the application being monitored that is being sampled for Application
                  Insights telemetry.'
                type: number
              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
              etag:
                description: 'Etag: Resource etag'
                type: string
              kind:
                description: 'Kind: The kind of application that this component refers
                  to, used to customize UI. This value is a freeform string, values
                  should typically be one of the following: web, ios, other, store,
                  java, phone.'
                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
              publicNetworkAccessForIngestion:
                description: 'PublicNetworkAccessForIngestion: The network access
                  type for accessing Application Insights ingestion.'
                enum:
                - Disabled
                - Enabled
                type: string
              publicNetworkAccessForQuery:
                description: 'PublicNetworkAccessForQuery: The network access type
                  for accessing Application Insights query.'
                enum:
                - Disabled
                - Enabled
                type: string
              tags:
                additionalProperties:
                  type: string
                description: 'Tags: Name-value pairs to add to the resource'
                type: object
              workspaceResourceReference:
                description: 'WorkspaceResourceReference: Resource Id of the log analytics
                  workspace which the data will be ingested to. This property is required
                  to create an application with this API version. Applications from
                  older versions will not have this property.'
                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:
            - Application_Type
            - kind
            - owner
            type: object
          status:
            properties:
              AppId:
                description: 'AppId: Application Insights Unique ID for your Application.'
                type: string
              Application_Type:
                description: 'ApplicationType: Type of application being monitored.'
                type: string
              ApplicationId:
                description: 'ApplicationId: The unique ID of your application. This
                  field mirrors the ''Name'' field and cannot be changed.'
                type: string
              ConnectionString:
                description: 'ConnectionString: Application Insights component connection
                  string.'
                type: string
              CreationDate:
                description: 'CreationDate: Creation Date for the Application Insights
                  component, in ISO 8601 format.'
                type: string
              DisableIpMasking:
                description: 'DisableIpMasking: Disable IP masking.'
                type: boolean
              DisableLocalAuth:
                description: 'DisableLocalAuth: Disable Non-AAD based Auth.'
                type: boolean
              Flow_Type:
                description: 'FlowType: Used by the Application Insights system to
                  determine what kind of flow this component was created by. This
                  is to be set to ''Bluefield'' when creating/updating a component
                  via the REST API.'
                type: string
              ForceCustomerStorageForProfiler:
                description: 'ForceCustomerStorageForProfiler: Force users to create
                  their own storage account for profiler and debugger.'
                type: boolean
              HockeyAppId:
                description: 'HockeyAppId: The unique application ID created when
                  a new application is added to HockeyApp, used for communications
                  with HockeyApp.'
                type: string
              HockeyAppToken:
                description: 'HockeyAppToken: Token used to authenticate communications
                  with between Application Insights and HockeyApp.'
                type: string
              ImmediatePurgeDataOn30Days:
                description: 'ImmediatePurgeDataOn30Days: Purge data immediately after
                  30 days.'
                type: boolean
              IngestionMode:
                description: 'IngestionMode: Indicates the flow of the ingestion.'
                type: string
              InstrumentationKey:
                description: 'InstrumentationKey: Application Insights Instrumentation
                  key. A read-only value that applications can use to identify the
                  destination for all telemetry sent to Azure Application Insights.
                  This value will be supplied upon construction of each new Application
                  Insights component.'
                type: string
              LaMigrationDate:
                description: 'LaMigrationDate: The date which the component got migrated
                  to LA, in ISO 8601 format.'
                type: string
              PrivateLinkScopedResources:
                description: 'PrivateLinkScopedResources: List of linked private link
                  scope resources.'
                items:
                  properties:
                    ResourceId:
                      description: 'ResourceId: The full resource Id of the private
                        link scope resource.'
                      type: string
                    ScopeId:
                      description: 'ScopeId: The private link scope unique Identifier.'
                      type: string
                  type: object
                type: array
              Request_Source:
                description: 'RequestSource: Describes what tool created this Application
                  Insights component. Customers using this API should set this to
                  the default ''rest''.'
                type: string
              RetentionInDays:
                description: 'RetentionInDays: Retention period in days.'
                type: integer
              SamplingPercentage:
                description: 'SamplingPercentage: Percentage of the data produced
                  by the application being monitored that is being sampled for Application
                  Insights telemetry.'
                type: number
              TenantId:
                description: 'TenantId: Azure Tenant Id.'
                type: string
              WorkspaceResourceId:
                description: 'WorkspaceResourceId: Resource Id of the log analytics
                  workspace which the data will be ingested to. This property is required
                  to create an application with this API version. Applications from
                  older versions will not have this property.'
                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
              etag:
                description: 'Etag: Resource etag'
                type: string
              id:
                description: 'Id: Azure resource Id'
                type: string
              kind:
                description: 'Kind: The kind of application that this component refers
                  to, used to customize UI. This value is a freeform string, values
                  should typically be one of the following: web, ios, other, store,
                  java, phone.'
                type: string
              location:
                description: 'Location: Resource location'
                type: string
              name:
                description: 'Name: Azure resource name'
                type: string
              properties_name:
                description: 'PropertiesName: Application name.'
                type: string
              provisioningState:
                description: 'ProvisioningState: Current state of this component:
                  whether or not is has been provisioned within the resource group
                  it is defined. Users cannot change this value but are able to read
                  from it. Values will include Succeeded, Deploying, Canceled, and
                  Failed.'
                type: string
              publicNetworkAccessForIngestion:
                description: 'PublicNetworkAccessForIngestion: The network access
                  type for accessing Application Insights ingestion.'
                type: string
              publicNetworkAccessForQuery:
                description: 'PublicNetworkAccessForQuery: The network access type
                  for accessing Application Insights query.'
                type: string
              tags:
                description: 'Tags: Resource tags'
                x-kubernetes-preserve-unknown-fields: true
              type:
                description: 'Type: Azure resource type'
                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: v1alpha1api20200202storage
    schema:
      openAPIV3Schema:
        description: 'Storage version of v1alpha1api20200202.Component Generated from:
          https://schema.management.azure.com/schemas/2020-02-02/Microsoft.Insights.Application.json#/resourceDefinitions/components'
        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 v1alpha1api20200202.Components_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
              Application_Type:
                type: string
              DisableIpMasking:
                type: boolean
              DisableLocalAuth:
                type: boolean
              Flow_Type:
                type: string
              ForceCustomerStorageForProfiler:
                type: boolean
              HockeyAppId:
                type: string
              ImmediatePurgeDataOn30Days:
                type: boolean
              IngestionMode:
                type: string
              Request_Source:
                type: string
              RetentionInDays:
                type: integer
              SamplingPercentage:
                type: number
              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
              etag:
                type: string
              kind:
                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
              publicNetworkAccessForIngestion:
                type: string
              publicNetworkAccessForQuery:
                type: string
              tags:
                additionalProperties:
                  type: string
                type: object
              workspaceResourceReference:
                description: 'WorkspaceResourceReference: Resource Id of the log analytics
                  workspace which the data will be ingested to. This property is required
                  to create an application with this API version. Applications from
                  older versions will not have this property.'
                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:
            - owner
            type: object
          status:
            description: Storage version of v1alpha1api20200202.ApplicationInsightsComponent_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
              AppId:
                type: string
              Application_Type:
                type: string
              ApplicationId:
                type: string
              ConnectionString:
                type: string
              CreationDate:
                type: string
              DisableIpMasking:
                type: boolean
              DisableLocalAuth:
                type: boolean
              Flow_Type:
                type: string
              ForceCustomerStorageForProfiler:
                type: boolean
              HockeyAppId:
                type: string
              HockeyAppToken:
                type: string
              ImmediatePurgeDataOn30Days:
                type: boolean
              IngestionMode:
                type: string
              InstrumentationKey:
                type: string
              LaMigrationDate:
                type: string
              PrivateLinkScopedResources:
                items:
                  description: Storage version of v1alpha1api20200202.PrivateLinkScopedResource_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
                    ResourceId:
                      type: string
                    ScopeId:
                      type: string
                  type: object
                type: array
              Request_Source:
                type: string
              RetentionInDays:
                type: integer
              SamplingPercentage:
                type: number
              TenantId:
                type: string
              WorkspaceResourceId:
                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
              etag:
                type: string
              id:
                type: string
              kind:
                type: string
              location:
                type: string
              name:
                type: string
              properties_name:
                type: string
              provisioningState:
                type: string
              publicNetworkAccessForIngestion:
                type: string
              publicNetworkAccessForQuery:
                type: string
              tags:
                x-kubernetes-preserve-unknown-fields: true
              type:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
