Microsoft Azure Common Content Metadata Types

Microsoft Azure Common Content Metadata Types is a metadata platform that allows users to organize and categorize their content in an efficient and standardized manner. This platform provides various types of metadata, such as keywords, descriptions, and tags, that can be used to easily search, filter, and sort through content. By using these metadata types, users can improve the organization and accessibility of their content, making it easier to manage and share with others.

OpenAPI Specification

common-content-metadata-types-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  version: 2024-01-01-preview
  title: Microsoft Azure Common content metadata types
paths: {}
definitions:
  metadataContentId:
    description: >-
      Static ID for the content.  Used to identify dependencies and content from
      solutions or community.  Hard-coded/static for out of the box content and
      solutions. Can be optionally set for user created content to define
      dependencies.  If an active content item is made from a metadata, both
      will have the same contentId.
    type: string
  metadataParentId:
    description: >-
      Full parent resource ID of the content item the metadata is for.  This is
      the full resource ID including the scope (subscription and resource group)
    type: string
  metadataDisplayName:
    description: DisplayName of the content.
    type: string
  metadataVersion:
    description: >-
      Version of the content.  Default and recommended format is numeric (e.g.
      1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices.  Can also
      be any string, but then we cannot guarantee any version checks
    type: string
  metadataPackageKind:
    description: The package kind
    enum:
      - Solution
      - Standalone
    type: string
    x-ms-enum:
      modelAsString: true
      name: packageKind
      values:
        - value: Solution
        - value: Standalone
  metadataKind:
    type: string
    description: The kind of content the metadata is for.
    enum:
      - DataConnector
      - DataType
      - Workbook
      - WorkbookTemplate
      - Playbook
      - PlaybookTemplate
      - AnalyticsRuleTemplate
      - AnalyticsRule
      - HuntingQuery
      - InvestigationQuery
      - Parser
      - Watchlist
      - WatchlistTemplate
      - Solution
      - AzureFunction
      - LogicAppsCustomConnector
      - AutomationRule
    x-ms-enum:
      modelAsString: true
      name: kind
      values:
        - value: DataConnector
        - value: DataType
        - value: Workbook
        - value: WorkbookTemplate
        - value: Playbook
        - value: PlaybookTemplate
        - value: AnalyticsRuleTemplate
        - value: AnalyticsRule
        - value: HuntingQuery
        - value: InvestigationQuery
        - value: Parser
        - value: Watchlist
        - value: WatchlistTemplate
        - value: Solution
        - value: AzureFunction
        - value: LogicAppsCustomConnector
        - value: AutomationRule
  metadataTrueFalseFlag:
    type: string
    description: The boolean value the metadata is for.
    enum:
      - 'true'
      - 'false'
    x-ms-enum:
      modelAsString: true
      name: flag
      values:
        - value: 'true'
        - value: 'false'
  metadataSource:
    description: The original source of the content item, where it comes from.
    type: object
    required:
      - kind
    properties:
      kind:
        description: Source type of the content
        type: string
        enum:
          - LocalWorkspace
          - Community
          - Solution
          - SourceRepository
        x-ms-enum:
          modelAsString: true
          name: sourceKind
          values:
            - value: LocalWorkspace
            - value: Community
            - value: Solution
            - value: SourceRepository
      name:
        description: >-
          Name of the content source.  The repo name, solution name, LA
          workspace name etc.
        type: string
      sourceId:
        description: ID of the content source.  The solution ID, workspace ID, etc
        type: string
  metadataAuthor:
    type: object
    description: Publisher or creator of the content item.
    properties:
      name:
        description: Name of the author. Company or person.
        type: string
      email:
        description: Email of author contact
        type: string
      link:
        description: Link for author/vendor page
        type: string
  metadataSupport:
    type: object
    description: Support information for the content item.
    required:
      - tier
    properties:
      tier:
        description: Type of support for content item
        type: string
        enum:
          - Microsoft
          - Partner
          - Community
        x-ms-enum:
          modelAsString: true
          name: supportTier
          values:
            - value: Microsoft
            - value: Partner
            - value: Community
      name:
        description: Name of the support contact. Company or person.
        type: string
      email:
        description: Email of support contact
        type: string
      link:
        description: Link for support help, like to support page to open a ticket etc.
        type: string
  metadataDependencies:
    description: >-
      Dependencies for the content item, what other content items it requires to
      work.  Can describe more complex dependencies using a recursive/nested
      structure. For a single dependency an id/kind/version can be supplied or
      operator/criteria for complex dependencies.
    type: object
    properties:
      contentId:
        description: Id of the content item we depend on
        $ref: '#/definitions/metadataContentId'
      kind:
        description: Type of the content item we depend on
        $ref: '#/definitions/metadataKind'
      version:
        description: >-
          Version of the the content item we depend on.  Can be blank, * or
          missing to indicate any version fulfills the dependency.  If version
          does not match our defined numeric format then an exact match is
          required.
        $ref: '#/definitions/metadataVersion'
      name:
        description: Name of the content item
        type: string
      operator:
        description: Operator used for list of dependencies in criteria array.
        type: string
        enum:
          - AND
          - OR
        x-ms-enum:
          modelAsString: true
          name: operator
          values:
            - value: AND
            - value: OR
      criteria:
        description: >-
          This is the list of dependencies we must fulfill, according to the
          AND/OR operator
        type: array
        items:
          $ref: '#/definitions/metadataDependencies'
          description: >-
            Dependencies for the content item, what other content items it
            requires to work.  Can describe more complex dependencies using a
            recursive/nested structure. For a single dependency an
            id/kind/version can be supplied or operator/criteria for complex
            formats.
        x-ms-identifiers:
          - contentId
        example:
          - kind: DataConnector
            contentId: 68b1de8a-b635-430d-b208-01ba3dda5877
            version: 1.0.0
          - kind: Workbook
            contentId: ad903b46-9905-4504-9825-3bcce796da8e
            version: 1.0.0
  metadataCategories:
    type: object
    description: ies for the solution content item
    properties:
      domains:
        description: domain for the solution content item
        type: array
        example:
          - str1
          - str2
          - str3
        items:
          type: string
      verticals:
        description: Industry verticals for the solution content item
        type: array
        items:
          type: string
        example:
          - str1
          - str2
          - str3
  metadataProviders:
    description: Providers for the solution content item
    type: array
    example:
      - str1
      - str2
      - str3
    items:
      type: string
  metadataFirstPublishDate:
    description: first publish date of solution content item
    type: string
    format: date
  metadataLastPublishDate:
    description: last publish date of solution content item
    type: string
    format: date
  metadataCustomVersion:
    description: The custom version of the content. A optional free text
    type: string
  metadataContentSchemaVersion:
    description: >-
      Schema version of the content. Can be used to distinguish between
      different flow based on the schema version
    type: string
  metadataIcon:
    description: the icon identifier. this id can later be fetched from the metadata
    type: string
  metadataThreatAnalysisTactics:
    description: the tactics the resource covers
    type: array
    example:
      - reconnaissance
      - exfiltration
    items:
      type: string
  metadataThreatAnalysisTechniques:
    description: >-
      the techniques the resource covers, these have to be aligned with the
      tactics being used
    type: array
    example:
      - T1548
      - T1548.001
      - T1134.003
    items:
      type: string
  metadataPreviewImages:
    description: preview image file names. These will be taken from the solution artifacts
    type: array
    example:
      - example.png
      - example2.jpeg
    items:
      type: string
  metadataPreviewImagesDark:
    description: >-
      preview image file names. These will be taken from the solution artifacts.
      used for dark theme support
    type: array
    example:
      - example.png
      - example2.jpeg
    items:
      type: string
  metadataTags:
    description: the tags assigned to the resource
    type: array
    example:
      - str1
      - str2
      - str3
    items:
      type: string
  templateBaseProperties:
    description: Template property bag.
    type: object
    properties:
      contentId:
        $ref: '#/definitions/metadataContentId'
        description: >-
          Static ID for the content.  Used to identify dependencies and content
          from solutions or community.  Hard-coded/static for out of the box
          content and solutions. Dynamic for user-created.  This is the resource
          name
      contentProductId:
        type: string
        description: >-
          Unique ID for the content. It should be generated based on the
          contentId of the package, contentId of the template, contentKind of
          the template and the contentVersion of the template
      packageVersion:
        $ref: '#/definitions/metadataVersion'
        description: >-
          Version of the package.  Default and recommended format is numeric
          (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices.  Can also be any string, but then we cannot guarantee any version
          checks
      version:
        $ref: '#/definitions/metadataVersion'
        description: >-
          Version of the content.  Default and recommended format is numeric
          (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices.  Can also be any string, but then we cannot guarantee any version
          checks
      displayName:
        $ref: '#/definitions/metadataDisplayName'
        description: The display name of the template
      contentKind:
        $ref: '#/definitions/metadataKind'
        description: The kind of content the template is for.
      source:
        $ref: '#/definitions/metadataSource'
        description: Source of the content.  This is where/how it was created.
      author:
        $ref: '#/definitions/metadataAuthor'
        description: The creator of the content item.
      support:
        $ref: '#/definitions/metadataSupport'
        description: Support information for the template - type, name, contact information
      dependencies:
        $ref: '#/definitions/metadataDependencies'
        description: >-
          Dependencies for the content item, what other content items it
          requires to work.  Can describe more complex dependencies using a
          recursive/nested structure. For a single dependency an id/kind/version
          can be supplied or operator/criteria for complex formats.
      categories:
        $ref: '#/definitions/metadataCategories'
        description: Categories for the item
      providers:
        $ref: '#/definitions/metadataProviders'
        description: Providers for the content item
      firstPublishDate:
        $ref: '#/definitions/metadataFirstPublishDate'
        description: first publish date content item
      lastPublishDate:
        $ref: '#/definitions/metadataLastPublishDate'
        description: last publish date for the content item
      customVersion:
        $ref: '#/definitions/metadataCustomVersion'
        description: The custom version of the content. A optional free text
      contentSchemaVersion:
        $ref: '#/definitions/metadataContentSchemaVersion'
        description: >-
          Schema version of the content. Can be used to distinguish between
          different flow based on the schema version
      icon:
        $ref: '#/definitions/metadataIcon'
        description: >-
          the icon identifier. this id can later be fetched from the content
          metadata
      threatAnalysisTactics:
        $ref: '#/definitions/metadataThreatAnalysisTactics'
        description: the tactics the resource covers
      threatAnalysisTechniques:
        $ref: '#/definitions/metadataThreatAnalysisTechniques'
        description: >-
          the techniques the resource covers, these have to be aligned with the
          tactics being used
      previewImages:
        $ref: '#/definitions/metadataPreviewImages'
        description: >-
          preview image file names. These will be taken from the solution
          artifacts
      previewImagesDark:
        $ref: '#/definitions/metadataPreviewImagesDark'
        description: >-
          preview image file names. These will be taken from the solution
          artifacts. used for dark theme support
      packageId:
        $ref: '#/definitions/metadataContentId'
        description: the package Id contains this template
      packageKind:
        $ref: '#/definitions/metadataPackageKind'
        description: the packageKind of the package contains this template
      packageName:
        $ref: '#/definitions/metadataDisplayName'
        description: the name of the package contains this template
      isDeprecated:
        $ref: '#/definitions/metadataTrueFalseFlag'
        description: Flag indicates if this template is deprecated
        readOnly: true
  packageBaseProperties:
    description: Describes package properties
    properties:
      contentId:
        $ref: '#/definitions/metadataContentId'
        description: The content id of the package
      contentProductId:
        type: string
        description: >-
          Unique ID for the content. It should be generated based on the
          contentId, contentKind and the contentVersion of the package
      contentKind:
        $ref: '#/definitions/metadataPackageKind'
        description: The package kind
      contentSchemaVersion:
        $ref: '#/definitions/metadataVersion'
        description: The version of the content schema.
      isNew:
        $ref: '#/definitions/metadataTrueFalseFlag'
        description: Flag indicates if this is a newly published package.
      isPreview:
        $ref: '#/definitions/metadataTrueFalseFlag'
        description: Flag indicates if this package is in preview.
      isFeatured:
        $ref: '#/definitions/metadataTrueFalseFlag'
        description: Flag indicates if this package is among the featured list.
      isDeprecated:
        $ref: '#/definitions/metadataTrueFalseFlag'
        description: Flag indicates if this template is deprecated
      version:
        $ref: '#/definitions/metadataVersion'
        description: the latest version number of the package
      displayName:
        $ref: '#/definitions/metadataDisplayName'
        description: The display name of the package
      description:
        description: The description of the package
        type: string
      publisherDisplayName:
        $ref: '#/definitions/metadataDisplayName'
        description: The publisher display name of the package
      source:
        $ref: '#/definitions/metadataSource'
        description: The source of the package
      author:
        $ref: '#/definitions/metadataAuthor'
        description: The author of the package
      support:
        $ref: '#/definitions/metadataSupport'
        description: The support tier of the package
      dependencies:
        $ref: '#/definitions/metadataDependencies'
        description: The support tier of the package
      providers:
        $ref: '#/definitions/metadataProviders'
        description: Providers for the package item
      firstPublishDate:
        $ref: '#/definitions/metadataFirstPublishDate'
        description: first publish date package item
      lastPublishDate:
        $ref: '#/definitions/metadataLastPublishDate'
        description: last publish date for the package item
      categories:
        $ref: '#/definitions/metadataCategories'
        description: The categories of the package
      threatAnalysisTactics:
        $ref: '#/definitions/metadataThreatAnalysisTactics'
        description: the tactics the resource covers
      threatAnalysisTechniques:
        $ref: '#/definitions/metadataThreatAnalysisTechniques'
        description: >-
          the techniques the resource covers, these have to be aligned with the
          tactics being used
      icon:
        $ref: '#/definitions/metadataIcon'
        description: >-
          the icon identifier. this id can later be fetched from the content
          metadata
    type: object
parameters: {}