swagger: '2.0'
basePath: /
paths:
  /o2ims-infrastructureInventory/api_versions:
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/InventoryAPIVersion'
      operationId: Get Inventory Version
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1:
    parameters:
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/OcloudDto'
        '404':
          description: oCloud not found
      operationId: Get Ocloud Information
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/:
    parameters:
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/OcloudDto'
        '404':
          description: oCloud not found
      operationId: Get Ocloud Information
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/api_versions:
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/InventoryV1APIVersion'
      operationId: Get Inventory API version
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/deploymentManagers:
    parameters:
      - in: query
        description: Filter of the query.
        name: filter
        type: string
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - default: 1
        in: query
        description: 'Page number of the results to fetch. Default: 1'
        name: nextpage_opaque_marker
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/DeploymentManagerListDto'
      operationId: Get Deployment Manager List
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/deploymentManagers/{deploymentManagerID}:
    parameters:
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - in: query
        description: 'DMS profile: value supports "native_k8sapi"'
        name: profile
        type: string
      - in: path
        description: ID of the deployment manager
        name: deploymentManagerID
        required: true
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/DeploymentManagerGetDto'
        '404':
          description: Deployment manager not found
      operationId: Get Deployment Manager Information
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/resourcePools:
    parameters:
      - in: query
        description: Filter of the query.
        name: filter
        type: string
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - default: 1
        in: query
        description: 'Page number of the results to fetch. Default: 1'
        name: nextpage_opaque_marker
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/ResourcePoolGetDto'
      operationId: Get Resource Pool List
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/resourcePools/{resourcePoolID}:
    parameters:
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - in: path
        description: ID of the resource pool
        name: resourcePoolID
        required: true
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/ResourcePoolGetDto'
        '404':
          description: Resource pool not found
      operationId: Get Resource Pool Information
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/resourcePools/{resourcePoolID}/resources:
    parameters:
      - in: query
        description: Filter of the query.
        name: filter
        type: string
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - default: 1
        in: query
        description: 'Page number of the results to fetch. Default: 1'
        name: nextpage_opaque_marker
        type: string
      - in: path
        description: ID of the resource pool
        name: resourcePoolID
        required: true
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/ResourceListDto'
        '404':
          description: Resource pool not found
      operationId: Get Resource List
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/resourcePools/{resourcePoolID}/resources/{resourceID}:
    parameters:
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - in: path
        description: ID of the resource
        name: resourceID
        required: true
        type: string
      - in: path
        description: ID of the resource pool
        name: resourcePoolID
        required: true
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/ResourceGetDto2'
        '404':
          description: Resource not found
      operationId: Get Resource Information
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/resourceTypes:
    parameters:
      - in: query
        description: Filter of the query.
        name: filter
        type: string
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - default: 1
        in: query
        description: 'Page number of the results to fetch. Default: 1'
        name: nextpage_opaque_marker
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/ResourceTypeGetDto'
      operationId: Get Resource Type List
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/resourceTypes/{resourceTypeID}:
    parameters:
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - in: path
        description: ID of the resource type
        name: resourceTypeID
        required: true
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/ResourceTypeGetDto'
        '404':
          description: Resource type not found
      operationId: Get Resource Type Information
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/subscriptions:
    get:
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/SubscriptionGetDto'
      operationId: Get Subscription List
      parameters:
        - in: query
          description: Filter of the query.
          name: filter
          type: string
        - in: query
          description: Exclude showing all default fields, Set "true" to enable.
          name: exclude_default
          type: string
        - in: query
          description: >-
            Set fields to exclude showing, split by comma, "/" for parent and
            children. Like "name,parent/children". This value will cover
            "exclude_default".
          name: exclude_fields
          type: string
        - in: query
          description: >-
            Set fields to show, split by comma, "/" for parent and children.
            Like "name,parent/children". This value will cover "exculde_fields".
          name: fields
          type: string
        - in: query
          description: >-
            Set any value for show all fields. This value will cover "fields"
            and "all_fields".
          name: all_fields
          type: string
        - default: 1
          in: query
          description: 'Page number of the results to fetch. Default: 1'
          name: nextpage_opaque_marker
          type: string
      tags:
        - O2IMS-InfrastructureInventory
    post:
      responses:
        '201':
          description: Success
          schema:
            $ref: '#/definitions/SubscriptionGetDto'
      operationId: Create a Subscription
      parameters:
        - name: payload
          required: true
          in: body
          schema:
            $ref: '#/definitions/SubscriptionCreateDto'
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureInventory/v1/subscriptions/{subscriptionID}:
    parameters:
      - in: path
        description: ID of the subscription
        name: subscriptionID
        required: true
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/SubscriptionGetDto'
        '404':
          description: Subscription not found
      operationId: Get Subscription Information
      parameters:
        - in: query
          description: Exclude showing all default fields, Set "true" to enable.
          name: exclude_default
          type: string
        - in: query
          description: >-
            Set fields to exclude showing, split by comma, "/" for parent and
            children. Like "name,parent/children". This value will cover
            "exclude_default".
          name: exclude_fields
          type: string
        - in: query
          description: >-
            Set fields to show, split by comma, "/" for parent and children.
            Like "name,parent/children". This value will cover "exculde_fields".
          name: fields
          type: string
        - in: query
          description: >-
            Set any value for show all fields. This value will cover "fields"
            and "all_fields".
          name: all_fields
          type: string
      tags:
        - O2IMS-InfrastructureInventory
    delete:
      responses:
        '200':
          description: Subscription deleted
        '404':
          description: Subscription not found
      operationId: Delete a Subscription
      tags:
        - O2IMS-InfrastructureInventory
  /o2ims-infrastructureMonitoring/api_versions:
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/MonitoringAPIVersion'
      operationId: Get Monitoring Version
      tags:
        - O2IMS-InfrastructureMonitoring
  /o2ims-infrastructureMonitoring/v1/alarmSubscriptions:
    get:
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/AlarmSubscriptionGetDto'
      operationId: Get Alarm Subscription List
      parameters:
        - in: query
          description: Filter of the query.
          name: filter
          type: string
        - in: query
          description: Exclude showing all default fields, Set "true" to enable.
          name: exclude_default
          type: string
        - in: query
          description: >-
            Set fields to exclude showing, split by comma, "/" for parent and
            children. Like "name,parent/children". This value will cover
            "exclude_default".
          name: exclude_fields
          type: string
        - in: query
          description: >-
            Set fields to show, split by comma, "/" for parent and children.
            Like "name,parent/children". This value will cover "exculde_fields".
          name: fields
          type: string
        - in: query
          description: >-
            Set any value for show all fields. This value will cover "fields"
            and "all_fields".
          name: all_fields
          type: string
        - default: 1
          in: query
          description: 'Page number of the results to fetch. Default: 1'
          name: nextpage_opaque_marker
          type: string
      tags:
        - O2IMS-InfrastructureMonitoring
    post:
      responses:
        '201':
          description: Success
          schema:
            $ref: '#/definitions/AlarmSubscriptionGetDto'
      operationId: Create a Alarm Subscription
      parameters:
        - name: payload
          required: true
          in: body
          schema:
            $ref: '#/definitions/AlarmSubscriptionCreateDto'
      tags:
        - O2IMS-InfrastructureMonitoring
  /o2ims-infrastructureMonitoring/v1/alarmSubscriptions/{alarmSubscriptionID}:
    parameters:
      - in: path
        description: ID of the Alarm Subscription
        name: alarmSubscriptionID
        required: true
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/AlarmSubscriptionGetDto'
        '404':
          description: Alarm Subscription not found
      operationId: Get Alarm Subscription Information
      parameters:
        - in: query
          description: Exclude showing all default fields, Set "true" to enable.
          name: exclude_default
          type: string
        - in: query
          description: >-
            Set fields to exclude showing, split by comma, "/" for parent and
            children. Like "name,parent/children". This value will cover
            "exclude_default".
          name: exclude_fields
          type: string
        - in: query
          description: >-
            Set fields to show, split by comma, "/" for parent and children.
            Like "name,parent/children". This value will cover "exculde_fields".
          name: fields
          type: string
        - in: query
          description: >-
            Set any value for show all fields. This value will cover "fields"
            and "all_fields".
          name: all_fields
          type: string
      tags:
        - O2IMS-InfrastructureMonitoring
    delete:
      responses:
        '200':
          description: Subscription deleted
        '404':
          description: Alarm Subscription not found
      operationId: Delete an Alarm Subscription
      tags:
        - O2IMS-InfrastructureMonitoring
  /o2ims-infrastructureMonitoring/v1/alarms:
    parameters:
      - in: query
        description: Filter of the query.
        name: filter
        type: string
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - default: 1
        in: query
        description: 'Page number of the results to fetch. Default: 1'
        name: nextpage_opaque_marker
        type: string
    get:
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/AlarmGetDto'
      operationId: Get Alarm Event Record List
      tags:
        - O2IMS-InfrastructureMonitoring
  /o2ims-infrastructureMonitoring/v1/alarms/{alarmEventRecordId}:
    parameters:
      - in: query
        description: Exclude showing all default fields, Set "true" to enable.
        name: exclude_default
        type: string
      - in: query
        description: >-
          Set fields to exclude showing, split by comma, "/" for parent and
          children. Like "name,parent/children". This value will cover
          "exclude_default".
        name: exclude_fields
        type: string
      - in: query
        description: >-
          Set fields to show, split by comma, "/" for parent and children. Like
          "name,parent/children". This value will cover "exculde_fields".
        name: fields
        type: string
      - in: query
        description: >-
          Set any value for show all fields. This value will cover "fields" and
          "all_fields".
        name: all_fields
        type: string
      - in: path
        description: ID of the alarm event record
        name: alarmEventRecordId
        required: true
        type: string
    patch:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/AlarmPatchDto'
        '404':
          description: Alarm Event Record not found
      operationId: Patch Alarm Event Record Information
      parameters:
        - name: payload
          required: true
          in: body
          schema:
            $ref: '#/definitions/AlarmPatchDto'
      tags:
        - O2IMS-InfrastructureMonitoring
    get:
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/AlarmGetDto'
        '404':
          description: Alarm Event Record not found
      operationId: Get Alarm Event Record Information
      tags:
        - O2IMS-InfrastructureMonitoring
  /o2ims-infrastructureMonitoring/v1/api_versions:
    get:
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              $ref: '#/definitions/MonitoringV1APIVersion'
      operationId: Get Monitoring API version
      tags:
        - O2IMS-InfrastructureMonitoring
info:
  title: INF O2 Services API
  version: 1.0.0
  description: Swagger OpenAPI document for the INF O2 Services
produces:
  - application/json
consumes:
  - application/json
tags:
  - name: O2IMS-InfrastructureInventory
    description: O2 IMS Inventory related operations.
  - name: O2IMS-InfrastructureMonitoring
    description: O2 IMS Monitoring related operations.
definitions:
  InventoryAPIVersion:
    required:
      - uriPrefix
    properties:
      uriPrefix:
        type: string
        description: Specifies the URI prefix for the API
        example: https://128.224.115.36:30205/o2ims-infrastructureInventory
      apiVersions:
        type: array
        description: Version(s) supported for the API signaled by the uriPrefix attribute.
        example:
          - version: 1.0.0
        items:
          $ref: '#/definitions/InventoryApiVersionStructure'
    x-mask: '{uriPrefix,apiVersions}'
    type: object
  InventoryApiVersionStructure:
    required:
      - version
    properties:
      version:
        type: string
        description: Identifies a supported version.
        example: 1.0.0
    x-mask: '{version}'
    type: object
  InventoryV1APIVersion:
    required:
      - uriPrefix
    properties:
      uriPrefix:
        type: string
        description: Specifies the URI prefix for the API
        example: https://128.224.115.36:30205/o2ims-infrastructureInventory/v1
      apiVersions:
        type: array
        description: Version(s) supported for the API signaled by the uriPrefix attribute.
        example:
          - version: 1.0.0
        items:
          $ref: '#/definitions/InventoryV1ApiVersionStructure'
    x-mask: '{uriPrefix,apiVersions}'
    type: object
  InventoryV1ApiVersionStructure:
    required:
      - version
    properties:
      version:
        type: string
        description: Identifies a supported version.
        example: 1.0.0
    x-mask: '{version}'
    type: object
  OcloudDto:
    required:
      - oCloudId
    properties:
      oCloudId:
        type: string
        description: Identifier for the containing O-Cloud.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      globalCloudId:
        type: string
        description: >-
          Identifier of the O-Cloud instance. Globally unique across O-Cloud
          instances.
        example: 10a07219-4201-4b3e-a52d-81ab6a755d8a
      globalcloudId:
        type: string
        description: >-
          Identifier of the O-Cloud instance. Globally unique across O-Cloud
          instances.(Specification)
        example: 10a07219-4201-4b3e-a52d-81ab6a755d8a
      name:
        type: string
        description: Human readable name of the O-Cloud.
        example: 95b818b8-b315-4d9f-af37-b82c492101f1
      description:
        type: string
        description: Human readable description of the O-Cloud.
        example: An ocloud
      serviceUri:
        type: string
        description: >-
          The fully qualified URI root to all services provided by the O2ims
          interface
        example: https://128.224.115.51:30205
      extensions:
        type: string
        description: >-
          These are unspecified (not standardized) properties (keys) which are
          tailored by the vendor to extend the information provided about the
          O-Cloud.
        example: ''
    x-mask: '{oCloudId,globalCloudId,globalcloudId,name,description,serviceUri}'
    type: object
  ResourceTypeGetDto:
    required:
      - resourceTypeId
    properties:
      resourceTypeId:
        type: string
        description: Identifier for the Resource Type.
        example: 60cba7be-e2cd-3b8c-a7ff-16e0f10573f9
      name:
        type: string
        description: Human readable name of the resource type.
        example: pserver
      description:
        type: string
        description: Human readable description of the resource type.
        example: The Physical Server resource type
      vendor:
        type: string
        description: Provider of the Resource.
        example: ''
      model:
        type: string
        description: >-
          Information about the model of the resource as defined by its
          provider.
        example: ''
      version:
        type: string
        description: Version or generation of the resource as defined by its provider.
        example: ''
      alarmDictionary:
        $ref: '#/definitions/AlarmDictionaryDto'
      extensions:
        type: string
        description: >-
          List of metadata key-value pairs used to associate meaningful metadata
          to the related resource type.
        example: ''
    x-mask: '{resourceTypeId,name,description,model,vendor,version}'
    type: object
  AlarmDictionaryDto:
    properties:
      id:
        type: string
        description: Identifier for the Alarm Dictionary.
        example: 7e1e59c3-c99e-3d1c-9934-21548a3a699a
      alarmDictionaryVersion:
        type: string
        description: Version of the Alarm Dictionary.
        example: '0.1'
      alarmDictionarySchemaVersion:
        type: string
        description: >-
          Version of the Alarm Dictionary Schema to which this alarm dictionary
          conforms.
        example: '0.1'
      entityType:
        type: string
        description: >-
          O-RAN entity type emitting the alarm: This shall be unique per vendor
          ResourceType.model and ResourceType.version
        example: pserver
      vendor:
        type: string
        description: >-
          Vendor of the Entity Type to whom this Alarm Dictionary applies. This
          should be the same value as in the ResourceType.vendor attribute.
        example: ''
      managementInterfaceId:
        type: string
        description: >-
          List of management interface over which alarms are transmitted for
          this Entity Type.
        example: O2IMS
      pkNotificationField:
        type: string
        description: >-
          Identifies which field or list of fields in the alarm notification
          contains the primary key (PK) into the Alarm Dictionary for this
          interface; i.e. which field contains the Alarm Definition ID.
        example: ''
      alarmDefinition:
        type: array
        description: >-
          Contains the list of alarms that can be detected against this
          ResourceType.
        example: ''
        items:
          $ref: '#/definitions/AlarmDefinitionDto'
    type: object
  AlarmDefinitionDto:
    properties:
      alarmDefinitionId:
        type: string
        description: Provides a unique identifier of the alarm being raised.
        example: eaefa070-7cb6-3403-be46-177bd9ccc2d3
      alarmName:
        type: string
        description: Provides short name for the alarm.
        example: '100.104'
      alarmLastChange:
        type: string
        description: >-
          Indicates the Alarm Dictionary Version in which this alarm last
          changed.
        example: '0.1'
      alarmChangeType:
        type: string
        description: >-
          Indicates the type of change that occurred during the alarm last
          change; added, deleted, modified.
        example: ADDED
      alarmDescription:
        type: string
        description: >-
          Provides a longer descriptive meaning of the alarm condition and a
          description of the consequences of the alarm condition.
        example: |-
          host=<hostname>.filesystem=<mount-dir>
              File System threshold exceeded; threshold x%, actual y% .
                  CRITICAL @ 90%
                  MAJOR    @ 80%
          OR
          host=<hostname>.volumegroup=<volumegroup-name>
              Monitor and if condition persists, consider addin ...
      proposedRepairActions:
        type: string
        description: Provides guidance for proposed repair actions.
        example: Reduce usage or resize filesystem.
      clearingType:
        type: string
        description: Identifies whether alarm is cleared automatically or manually.
        example: MANUAL
      managementInterfaceId:
        type: string
        description: >-
          List of management interface over which alarms are transmitted for
          this Entity Type.
        example: O2IMS
      pkNotificationField:
        type: string
        description: >-
          Identifies which field or list of fields in the alarm notification
          contains the primary key (PK) into the Alarm Dictionary for this
          interface; i.e. which field contains the Alarm Definition ID.
        example: ''
      alarmAdditionalFields:
        type: string
        description: >-
          List of metadata key-value pairs used to associate meaningful metadata
          to the related resource type.
        example: ''
    type: object
  ResourcePoolGetDto:
    required:
      - resourcePoolId
    properties:
      resourcePoolId:
        type: string
        description: Identifier for the Resource Pool in the O-Cloud instance.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      globalLocationId:
        type: string
        description: >-
          This identifier is copied from the O-Cloud Id assigned by the SMO
          during the O-Cloud deployment.
        example: ''
      name:
        type: string
        description: Human readable name of the resource pool.
        example: RegionOne
      description:
        type: string
        description: Human readable description of the resource pool.
        example: A Resource Pool
      oCloudId:
        type: string
        description: Identifier for the containing O-Cloud.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      location:
        type: string
        description: >-
          Information about the geographical location of the resource pool as
          detected by the O-Cloud.
        example: ''
      extensions:
        type: string
        description: >-
          List of metadata key-value pairs used to associate meaningful metadata
          to the related resource pool.
        example: ''
    x-mask: '{resourcePoolId,oCloudId,globalLocationId,name,description}'
    type: object
  ResourceListDto:
    required:
      - resourceId
    properties:
      resourceId:
        type: string
        description: Identifier for the Resource.
        example: 5b3a2da8-17da-466c-b5f7-972590c7baf2
      resourceTypeId:
        type: string
        description: Identifier for the Resource Type of this resource.
        example: 60cba7be-e2cd-3b8c-a7ff-16e0f10573f9
      resourcePoolId:
        type: string
        description: Identifier of the Resource Pool containing this resource.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      globalAssetId:
        type: string
        description: Identifier or serial number of the resource.
        example: ''
      parentId:
        type: string
        description: Identifier for the parent resource.
        example: None
      description:
        type: string
        description: Human readable description of the resource.
        example: >-
          id:1;hostname:controller-0;mgmt_mac:00:00:00:00:00:00;mgmt_ip:192.168.204.2;personality:controller;subfunctions:controller,worker;administrative:unlocked;operational:enabled;availability:available;clock_synchronization:ntp;capabilities:{'is_max_cpu_configurable':
          'configurable', 'stor_function': 'monitor', 'Personality':
          'Controller-Active'};boot_device:/dev/disk/by-path/pci-0000:02:00.0-scsi-0:1:0:0;rootfs_device:/dev/disk/by-path/pci-0000:02:00.0-scsi-0:1:0:0;software_load:22.12;install_state:None;max_cpu_mhz_allowed:None
      extensions:
        type: object
    x-mask: '{resourceId,resourcePoolId,resourceTypeId,description,parentId}'
    type: object
  ResourceGetDto2:
    required:
      - resourceId
    properties:
      resourceId:
        type: string
        description: Identifier for the Resource.
        example: eee8b101-6b7f-4f0a-b54b-89adc0f3f906
      resourceTypeId:
        type: string
        description: Identifier for the Resource Type of this resource.
        example: a45983bb-199a-30ec-b7a1-eab2455f333c
      resourcePoolId:
        type: string
        description: Identifier of the Resource Pool containing this resource.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      globalAssetId:
        type: string
        description: Identifier or serial number of the resource.
        example: ''
      parentId:
        type: string
        description: Identifier for the parent resource.
        example: 5b3a2da8-17da-466c-b5f7-972590c7baf2
      description:
        type: string
        description: Human readable description of the resource.
        example: >-
          cpu:0;core:0;thread:0;cpu_family:6;cpu_model:Intel(R) Xeon(R) CPU
          E5-2670 v2 @ 2.50GHz;allocated_function:Platform;numa_node:0
      extensions:
        type: object
      elements:
        type: array
        items:
          $ref: '#/definitions/ResourceGetDto1'
    x-mask: '{resourceId,resourcePoolId,resourceTypeId,description,parentId}'
    type: object
  ResourceGetDto1:
    required:
      - resourceId
    properties:
      resourceId:
        type: string
        description: Identifier for the Resource.
        example: eee8b101-6b7f-4f0a-b54b-89adc0f3f906
      resourceTypeId:
        type: string
        description: Identifier for the Resource Type of this resource.
        example: a45983bb-199a-30ec-b7a1-eab2455f333c
      resourcePoolId:
        type: string
        description: Identifier of the Resource Pool containing this resource.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      globalAssetId:
        type: string
        description: Identifier or serial number of the resource.
        example: ''
      parentId:
        type: string
        description: Identifier for the parent resource.
        example: 5b3a2da8-17da-466c-b5f7-972590c7baf2
      description:
        type: string
        description: Human readable description of the resource.
        example: >-
          cpu:0;core:0;thread:0;cpu_family:6;cpu_model:Intel(R) Xeon(R) CPU
          E5-2670 v2 @ 2.50GHz;allocated_function:Platform;numa_node:0
      extensions:
        type: object
      elements:
        type: array
        items:
          $ref: '#/definitions/ResourceGetDto0'
    x-mask: '{resourceId,resourcePoolId,resourceTypeId,description,parentId}'
    type: object
  ResourceGetDto0:
    required:
      - resourceId
    properties:
      resourceId:
        type: string
        description: Identifier for the Resource.
        example: eee8b101-6b7f-4f0a-b54b-89adc0f3f906
      resourceTypeId:
        type: string
        description: Identifier for the Resource Type of this resource.
        example: a45983bb-199a-30ec-b7a1-eab2455f333c
      resourcePoolId:
        type: string
        description: Identifier of the Resource Pool containing this resource.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      globalAssetId:
        type: string
        description: Identifier or serial number of the resource.
        example: ''
      parentId:
        type: string
        description: Identifier for the parent resource.
        example: 5b3a2da8-17da-466c-b5f7-972590c7baf2
      description:
        type: string
        description: Human readable description of the resource.
        example: >-
          cpu:0;core:0;thread:0;cpu_family:6;cpu_model:Intel(R) Xeon(R) CPU
          E5-2670 v2 @ 2.50GHz;allocated_function:Platform;numa_node:0
      extensions:
        type: object
    x-mask: '{resourceId,resourcePoolId,resourceTypeId,description,parentId}'
    type: object
  DeploymentManagerListDto:
    required:
      - deploymentManagerId
    properties:
      deploymentManagerId:
        type: string
        description: Identifier for the Deployment Manager.
        example: c765516a-a84e-30c9-b954-9c3031bf71c8
      name:
        type: string
        description: Human readable name of the deployment manager.
        example: 95b818b8-b315-4d9f-af37-b82c492101f1.kubernetes
      description:
        type: string
        description: Human readable description of the deployment manager.
        example: A DMS
      oCloudId:
        type: string
        description: Identifier for the containing O-Cloud.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      serviceUri:
        type: string
        description: The fully qualified URI to a Deployment Management server for O2dms.
        example: https://128.224.115.51:6443
      supportedLocations:
        type: string
      capabilities:
        $ref: '#/definitions/DeploymentManagerCapabilities'
      capacity:
        $ref: '#/definitions/DeploymentManagerCapacity'
      profileSupportList:
        type: array
        description: Profile support list, use default for the return endpoint
        example:
          - native_k8sapi
        items:
          type: string
      extensions:
        type: string
        description: >-
          List of metadata key-value pairs used to associate meaningful metadata
          to the related Deployment Manager
        example: ''
    x-mask: >-
      {deploymentManagerId,name,description,oCloudId,serviceUri,supportedLocations,capabilities,capacity,profileSupportList}
    type: object
  DeploymentManagerCapabilities:
    properties:
      OS:
        type: string
        description: Show the OS capablities of the Deployment Manager
        example: low_latency
    type: object
  DeploymentManagerCapacity:
    properties:
      cpu:
        type: string
        description: Show the cpu capacity of the Deployment Manager
        example: '32'
      hugepages-2Mi:
        type: string
        description: Show the 2Mi hugepages capacity of the Deployment Manager
        example: '2048'
      hugepages-1Gi:
        type: string
        description: Show the 1Gi hugepages capacity of the Deployment Manager
        example: '2048'
    type: object
  DeploymentManagerGetDto:
    required:
      - deploymentManagerId
    properties:
      deploymentManagerId:
        type: string
        description: Identifier for the Deployment Manager.
        example: c765516a-a84e-30c9-b954-9c3031bf71c8
      name:
        type: string
        description: Human readable name of the deployment manager.
        example: 95b818b8-b315-4d9f-af37-b82c492101f1.kubernetes
      description:
        type: string
        description: Human readable description of the deployment manager.
        example: A DMS
      oCloudId:
        type: string
        description: Identifier for the containing O-Cloud.
        example: f078a1d3-56df-46c2-88a2-dd659aa3f6bd
      serviceUri:
        type: string
        description: The fully qualified URI to a Deployment Management server for O2dms.
        example: https://128.224.115.51:6443
      supportedLocations:
        type: string
      capabilities:
        $ref: '#/definitions/DeploymentManagerCapabilities'
      capacity:
        $ref: '#/definitions/DeploymentManagerCapacity'
      extensions:
        $ref: '#/definitions/DeploymentManagerExtensions'
    x-mask: >-
      {deploymentManagerId,name,description,oCloudId,serviceUri,supportedLocations,capabilities,capacity,extensions{profileName,profileData}}
    type: object
  DeploymentManagerExtensions:
    properties:
      profileName:
        type: string
        description: ''
        example: ''
      profileData:
        $ref: '#/definitions/DeploymentManagerGetDtoProfile'
    type: object
  DeploymentManagerGetDtoProfile:
    properties:
      cluster_api_endpoint:
        type: string
        description: Kubernetes Cluster API Endpoint
        example: https://128.224.115.51:6443
      cluster_ca_cert:
        type: string
        description: Kubernetes Cluster CA cert
        example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZEakNDQX.....
      admin_user:
        type: string
        description: Kubernetes Admin username
        example: kubernetes-admin
      admin_client_cert:
        type: string
        description: Kubernetes Admin client cert
        example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVJRENDQW.....
      admin_client_key:
        type: string
        description: Kubernetes Admin client key
        example: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcE.....
      helmcli_host_with_port:
        type: string
        description: Helm CLI Host address with SSH port
        example: 128.224.115.34:30022
      helmcli_username:
        type: string
        description: Helm CLI SSH login username
        example: helm
      helmcli_password:
        type: string
        description: Helm CLI SSH login password
        example: password
      helmcli_kubeconfig:
        type: string
        description: Helm CLI KUBECONFIG path
        example: /share/kubeconfig_c765516a.config
    type: object
  SubscriptionCreateDto:
    required:
      - callback
    properties:
      callback:
        type: string
        description: Identifier for the Subscription.
        example: https://128.224.115.15:1081/smo/v1/o2ims_inventory_observer
      consumerSubscriptionId:
        type: string
        description: Identifier for the consumer of events sent due to the Subscription.
        example: 3F20D850-AF4F-A84F-FB5A-0AD585410361
      filter:
        type: string
        description: >-
          Criteria for events which do not need to be reported or will be
          filtered by the subscription notification service. Therefore, if a
          filter is not provided then all events are reported.
        example: ''
    type: object
  SubscriptionGetDto:
    required:
      - subscriptionId
    properties:
      subscriptionId:
        type: string
        description: Identifier for the Subscription.
        example: 0bea3e71-d2f7-4bf3-9c06-41d8d35806f9
      callback:
        type: string
        description: >-
          The fully qualified URI to a consumer procedure which can process a
          Post of the InventoryEventNotification.
        example: https://128.224.115.15:1081/smo/v1/o2ims_inventory_observer
      consumerSubscriptionId:
        type: string
        description: Identifier for the consumer of events sent due to the Subscription.
        example: 3F20D850-AF4F-A84F-FB5A-0AD585410361
      filter:
        type: string
        description: >-
          Criteria for events which do not need to be reported or will be
          filtered by the subscription notification service. Therefore, if a
          filter is not provided then all events are reported.
        example: ''
    x-mask: '{subscriptionId,callback}'
    type: object
  MonitoringAPIVersion:
    required:
      - uriPrefix
    properties:
      uriPrefix:
        type: string
        description: Specifies the URI prefix for the API
        example: https://128.224.115.36:30205/o2ims-infrastructureMonitoring
      apiVersions:
        type: array
        description: Version(s) supported for the API signaled by the uriPrefix attribute.
        example:
          - version: 1.0.0
        items:
          $ref: '#/definitions/MonitoringApiVersionStructure'
    x-mask: '{uriPrefix,apiVersions}'
    type: object
  MonitoringApiVersionStructure:
    required:
      - version
    properties:
      version:
        type: string
        description: Identifies a supported version.
        example: 1.0.0
    x-mask: '{version}'
    type: object
  MonitoringV1APIVersion:
    required:
      - uriPrefix
    properties:
      uriPrefix:
        type: string
        description: Specifies the URI prefix for the API
        example: https://128.224.115.36:30205/o2ims-infrastructureMonitoring/v1
      apiVersions:
        type: array
        description: Version(s) supported for the API signaled by the uriPrefix attribute.
        example:
          - version: 1.0.0
        items:
          $ref: '#/definitions/MonitoringV1ApiVersionStructure'
    x-mask: '{uriPrefix,apiVersions}'
    type: object
  MonitoringV1ApiVersionStructure:
    required:
      - version
    properties:
      version:
        type: string
        description: Identifies a supported version.
        example: 1.0.0
    x-mask: '{version}'
    type: object
  AlarmGetDto:
    required:
      - alarmEventRecordId
    properties:
      alarmEventRecordId:
        type: string
        description: The identifier for the AlarmEventRecord Object.
        example: 97cc2b01-0e71-4a93-a911-2e87f04d996f
      resourceTypeId:
        type: string
        description: A reference to the type of resource which caused the alarm.
        example: 60cba7be-e2cd-3b8c-a7ff-16e0f10573f9
      resourceTypeID:
        type: string
        description: >-
          A reference to the type of resource which caused the
          alarm.(Specification)
        example: 60cba7be-e2cd-3b8c-a7ff-16e0f10573f9
      resourceId:
        type: string
        description: A reference to the resource instance which caused the alarm.
        example: 5b3a2da8-17da-466c-b5f7-972590c7baf2
      resourceID:
        type: string
        description: >-
          A reference to the resource instance which caused the
          alarm.(Specification)
        example: 5b3a2da8-17da-466c-b5f7-972590c7baf2
      alarmDefinitionId:
        type: string
        description: >-
          A reference to the Alarm Definition record in the Alarm Dictionary
          associated with the referenced Resource Type.
        example: 1197f463-b3d4-3aa3-9c14-faa493baa069
      alarmDefinitionID:
        type: string
        description: >-
          A reference to the Alarm Definition record in the Alarm Dictionary
          associated with the referenced Resource Type.(Specification)
        example: 1197f463-b3d4-3aa3-9c14-faa493baa069
      probableCauseId:
        type: string
        description: A reference to the ProbableCause of the Alarm.
        example: f52054c9-6f3c-39a0-aab8-e00e01d8c4d3
      probableCauseID:
        type: string
        description: A reference to the ProbableCause of the Alarm.(Specification)
        example: f52054c9-6f3c-39a0-aab8-e00e01d8c4d3
      alarmRaisedTime:
        type: string
        description: Date/Time stamp value when the AlarmEventRecord has been created.
        example: '2022-12-22 09:42:53'
      alarmChangedTime:
        type: string
        description: >-
          Date/Time stamp value when any value of the AlarmEventRecord has been
          modified.
        example: ''
      alarmAcknowledgeTime:
        type: string
        description: Date/Time stamp value when the alarm condition is acknowledged.
        example: ''
      alarmAcknowledged:
        type: boolean
        description: >-
          Boolean value indicating of a management system has acknowledged the
          alarm.
        example: false
      perceivedSeverity:
        type: string
        description: |-
          One of the following values: 
           0 for "CRITICAL" 
          1 for "MAJOR" 
          2 for "MINOR" 
          3 for "WARNING" 
          4 for "INDETERMINATE" 
          5 for "CLEARED"
        example: '1'
      extensions:
        type: object
    type: object
  AlarmPatchDto:
    properties:
      alarmAcknowledged:
        type: boolean
        description: >-
          Boolean value indication of a management system has acknowledged the
          alarm.
        example: true
      perceivedSeverity:
        type: string
        description: >-
          indicate that the alarm record is requested to be cleared. Only the
          value "5" for "CLEARED" is permitted in a request message content. 
        example: '5'
    x-mask: '{alarmAcknowledged}'
    type: object
  AlarmSubscriptionCreateDto:
    required:
      - callback
    properties:
      callback:
        type: string
        description: >-
          The fully qualified URI to a consumer procedure which can process a
          Post of the InventoryEventNotification.
        example: https://128.224.115.15:1081/smo/v1/o2ims_alarm_observer
      consumerSubscriptionId:
        type: string
        description: Identifier for the consumer of events sent due to the Subscription.
        example: 3F20D850-AF4F-A84F-FB5A-0AD585410361
      filter:
        type: string
        description: >-
          Criteria for events which do not need to be reported or will be
          filtered by the subscription notification service. Therefore, if a
          filter is not provided then all events are reported.
        example: ''
    type: object
  AlarmSubscriptionGetDto:
    required:
      - alarmSubscriptionId
    properties:
      alarmSubscriptionId:
        type: string
        description: Identifier for the Alarm Subscription.
        example: e320da6d-27a8-4948-8b52-3bf3355b45f3
      callback:
        type: string
        description: >-
          The fully qualified URI to a consumer procedure which can process a
          Post of the InventoryEventNotification.
        example: https://128.224.115.15:1081/smo/v1/o2ims_alarm_observer
      consumerSubscriptionId:
        type: string
        description: Identifier for the consumer of events sent due to the Subscription.
        example: 3F20D850-AF4F-A84F-FB5A-0AD585410361
      filter:
        type: string
        description: >-
          Criteria for events which do not need to be reported or will be
          filtered by the subscription notification service. Therefore, if a
          filter is not provided then all events are reported.
        example: ''
    x-mask: '{alarmSubscriptionId,callback}'
    type: object
responses:
  ParseError:
    description: When a mask can't be parsed
  MaskError:
    description: When any error occurs on mask
  HTTPException:
    description: Default error handler
  NotFound:
    description: notfound handler
  BadRequestException:
    description: Return a custom message and 400 status code
  NotFoundException:
    description: Return a custom message and 404 status code
  MethodNotAllowed:
    description: Return a custom message and 405 status code
  InternalServerError:
    description: Return a custom message and 500 status code
  Exception:
    description: Return a custom message and 500 status code
