Open APIs

 View Only
Expand all | Collapse all

Multiple lifecycleStatus with validFor in the same ServiceSpecification / ResourceSpecification

  • 1.  Multiple lifecycleStatus with validFor in the same ServiceSpecification / ResourceSpecification

    TM Forum Member
    Posted Dec 04, 2024 08:51

    We have the following Situation:

    • per Service / Resource Specification we track the different lifecycleStatus with startDate and endDate
    • means a ServiceSpecification can have 
      • lifecycleState=Active, startDate=2018-03-25T00:00, endDate=2024-03-25T00:00
      • lifecycleState=PhaseOut, startDate=2024-03-26T00:00, endDate=2025-03-25T00:00
      • .....

    Looking at the ServiceSpecification json Schema I see the Attribute lifecycleStatus and validFor, with startDate and endDate.
    Means I would have to generate one ServiceSpecification Object per lifecycleStatus.
    This is not, how we want to communicate the different lifecycleStatus and their startDate/endDate.

    Are there alternatives to the approach of creating multiple ServiceSpecification Objects?
    Can we probably (ab)use the ServiceSpecCharacteristics to communicate the different lifecycleStatus?



    ------------------------------
    Florian Kammermann
    Swisscom (Schweiz) AG
    ------------------------------


  • 2.  RE: Multiple lifecycleStatus with validFor in the same ServiceSpecification / ResourceSpecification

    TM Forum Member
    Posted Dec 08, 2024 12:59
    Edited by Florian Kammermann Dec 08, 2024 14:41

    We solve it by adding the attribute

    lifecycleStatusValidFor

    to ServiceSpecification and ResourceSpecification:

    "lifecycleStatusValidFor": {
              "type": "array",
              "description": "The available lifecycle status with the validFor TimePeriod",
              "items": {
                "$ref": "#/definitions/LifecycleStatusValidFor"
              }
            },
    

    Here the referred Type:

    "LifecycleStatusValidFor": {
          "type": "object",
          "description": "Represents a LifecycleStatus with validFor TimePeriod",
          "properties": {
            "lifecycleStatus": {
              "type": "string",
              "description": "The lifecycleStatus"
            },
            "validFor": {
              "$ref": "#/definitions/TimePeriod",
              "description": "The period for which this lifecycleStatus is valid"
            }
          }
        },
    



    ------------------------------
    Florian Kammermann
    Swisscom (Schweiz) AG
    ------------------------------