CMSO API v1_v2

----

approveScheduleRequest

Adds an accept/reject approval status to the schedule request identified by scheduleId

/{apiVersion}/schedules/{scheduleId}/approvals

Parameters

Path parameters

Name

Description

apiVersion*

String
v1
Required

scheduleId*

String
Schedule id to uniquely identify the schedule request being accepted or rejected.
Required

Body parameters

Name

Description

body

 {
Request to accept or reject an optimized time slot.
approvalUserId:
 string
ATTUID of the user accepting/rejecting the time slot.
approvalStatus:
 string
Approval status.
Enum: AcceptedRejected
approvalType:
 string
Type of approval.
Enum: Tier 2
approvalDateTime:
string (date-time)
}

Responses

Status: 200 - OK

Status: 404 - No record found

Status: 500 - Unexpected Runtime error


createScheduleRequest

Creates a schedule request for scheduleId


/{apiVersion}/schedules/{scheduleId}

Parameters

Path parameters

Name

Description

apiVersion*

String
v1
Required

scheduleId*

String
Schedule id to uniquely identify the schedule request being created.
Required

Body parameters

Name

Description

body

 {
domain:
 string
Schedule domain : ChangeManagement
scheduleId:
 string
Schedule id that must be unique within the domain. Use of UUID is highly recommended.
scheduleName:
 string
User provided name of the schedule (deaults to scheduleId
userId:
 string
ATTUID of the user requesting the schedule.
domainData:
[
Domain data as name value/pairs. (i.e. CallbackUrl, CallbackData, WorkflowName)
 {
}
]
schedulingInfo:
 {
Details of schedule being requested
normalDurationInSeconds:
 integer
additionalDurationInSeconds:
 integer
concurrencyLimit:
 integer
policyId:
 string
vnfDetails:

[]


}
}

Responses

Status: 202 - Schedule request accepted for optimization.

Status: 409 - Schedule request already exists for this schedule id.

 {

requestError:

 {

messageId:

string

text:

string

variables:

[

string

]

}

}

Status: 500 - Unexpected Runtime error


deleteScheduleRequest

Cancels the schedule request for scheduleId
/{apiVersion}/schedules/{scheduleId}

Parameters

Path parameters

Name

Description

apiVersion*

String
v1
Required

scheduleId*

String
Schedule id to uniquely identify the schedule request being deleted.
Required

Responses

Status: 204 - Delete successful

Status: 404 - No record found

 {

requestError:

 {

messageId:

string

text:

string

variables:

[

string

]

}

}

Status: 500 - Unexpected Runtime error


getScheduleRequestInfo

Retrieve the schedule request for scheduleId
/{apiVersion}/schedules/{scheduleId}

Parameters

Path parameters

Name

Description

apiVersion*

String
v1
Required

scheduleId*

String
Schedule id to uniquely identify the schedule info being retrieved.
Required

Responses

Status: 200 - OK

Schema

 {

createDateTime:

 string

Date/time schedule was created.

optimizerDateTime:

string

optimizerMessage:

string

optimizerStatus:

string

optimizerReturnDateTime:

string

optimizerTransactionId:

string

schedule:

string

scheduleName:

string

scheduleInfo:

string

status:

string

userId:

string

domain:

string

deleteDateTime:

string

domainData:

[

 {

Domain specific data represented as name/value pairs

name:

string

value:

string

}

]

scheduleApprovals:

[

 {

Details of a schedule approval/rejection.

approvalDateTime:

 string

Date/time schedule time slot was accepted/rejected.

status:

 string

Approval status.

Enum: AcceptedRejected

userId:

 string

ATTUID of the user accepting/rejecting the time slot.

}

]

groups:

[

 {

Scheduling critirea for a group of VNFs

finishTime:

 string

Date/time by which all of the workflows should be completed.

groupId:

 string

Name of the group of VNFs to be scheduled

lastInstanceStartTime:

 string

The latest date/time by which a workflow is to be started.

startTime:

 string

The date/time when workflows are to be started.

additionalDurationInSecs:

 integer (int32)

Time added to the workflow interval to allow for rollback in case of failure.

concurrencyLimit:

 integer (int32)

The maximum number of workflows that should be started simultaneiously.

normalDurationInSecs:

 integer (int32)

Expected duration of a successful workflow execution.

policyId:

 string

The name of the schedule optimization policy used by the change management schedule optimizer.

changeManagementSchedules:

[

The list of VNF workflows scheduled.

 {

VNF details for Change Management Schedule

tmChangeId:

 string

TM Change Id

tmStatus:

 string

TM ticket status

Enum: ,Closed

tmApprovalStatus:

 string

TM ticket approval status

Enum: ,Approved

finishTime:

 string

Anticipated time of completion based upon start time and duration

startTime:

 string

Start time of this VNF workflow assigned by Scheduler based upon the group start time returned by the optimizer and concurrency.

status:

 string

Status of the VNF.

Enum:See CMSStatusEnum

vnfName:

 string

Name of the VNF.

dispatchTime:

 string

Actual time the VNF workflow was dispatched.

executionCompletedTime:

 string

Actual time the VNF workflow execution was completed as reported by MSO.

msoRequestId:

 string

MSO Request ID of the workflow returned at dispatch time.

msoStatus:

 string

Final MSO status.

Enum:COMPLETEDFAILED

msoMessage:

 string

MSO final status message.

statusMessage:

 string

Scheduler status message.

msoTime:

 string

Time of last poll for MSO status.

}

]

}

]

}

Status: 404 - No record found

Status: 500 - Unexpected Runtime error


healthCheck

Returns health status of server.
/{apiVersion}/health

Parameters

Path parameters

Name

Description

apiVersion*

String
v1
Required

Query parameters

Name

Description

checkInterfaces

array[Boolean]


Check Interfaces

Responses

Status: 200 - OK

 {

healthy:

boolean

buildInfo:

string

currentTime:

string

hostname:

string

components:

[

 {

name:

string

url:

string

status:

string

healthy:

boolean

}

]

}

Status: 400 - Not healthy

{

healthy:

boolean

buildInfo:

string

currentTime:

string

hostname:

string

components:

[

 {

name:

string

url:

string

status:

string

healthy:

boolean

}

]

}


searchScheduleRequestDetails

Returns a list of Schedule request details based upon the filter criteria.
/{apiVersion}/schedules/scheduleDetails

Parameters

Path parameters

Name

Description

apiVersion*

String
v1
Required

Query parameters

Name

Description

request.scheduleId

array[String]


Schedule identifier

request.scheduleName

array[String]


Schedule name

request.userId

array[String]


Scheduler creator User id of

request.status

array[String]


Schedule status

request.createDateTime

array[String]


Creation date and time (<low date>[,<hi date>])

request.optimizerStatus

array[String]


Optimizer status

request.approvalUserId

array[String]


Request Approval user id

request.approvalStatus

array[String]


Request Approval status

request.approvalType

array[String]


Request Approval type

WorkflowName

array[String]


Workflow

vnfName

array[String]


VNF Name

vnfId

array[String]


VNF Id

vnfStatus

array[String]


VNF Status

startTime

array[String]


Start time <low>,<high>

finishTime

array[String]


Finish time <low>,<high>

lastInstanceTime

array[String]


Last instance start time <low>,<high>

tmChangeId

array[String]


TM Change Ticket Change Id

maxSchedules

Integer (int32)
Maximum number of schedules to return

lastScheduleId

String
Return schedules > lastScheduleId

request.concurrencyLimit

Integer (int32)
Return concurrencyLimit

Responses

Status: 200 - OK

[

undefined

]

Status: 404 - No records found

{

requestError:

 {

messageId:

string

text:

string

variables:

[

string

]

}

}

Status: 500 - Unexpected Runtime error


searchScheduleRequests

Returns a list of Scheduler Requests based upon the filter criteria.
/{apiVersion}/schedules

Parameters

Path parameters

Name

Description

apiVersion*

String
v1
Required

Query parameters

Name

Description

includeDetails

Boolean
Include details

scheduleId

array[String]


Schedule identifier

scheduleName

array[String]


Schedule name

userId

array[String]


SCheduler creator User id of

status

array[String]


Schedule status

createDateTime

array[String]


Creation date and time (<low date>[,<hi date>])

optimizerStatus

array[String]


Optimizer status

WorkflowName

array[String]


Workflow

Responses

Status: 200 - OK

[

undefined

]

Status: 404 - No records found

 {

requestError:

 {

messageId:

string

text:

string

variables:

[

string

]

}

}

Status: 500 - Unexpected Runtime error


sniroCallback

Processes optimizer results callback to a Pending Optimization schedule.
/{apiVersion}/optimizerCallback

Parameters

Path parameters

Name

Description

apiVersion*

String
v1
Required

Body parameters

Name

Description

body

 {
Asynchronous response to schedule oprimizer request.
transactionId:
 string
Unique id of optimization request.
scheduleId:
 string
Schedule id for which the optimization request was executed.
requestState:
 string
State of the request as reported by the optimizer.
status:
 string
Status of the request.
description:
 string
Description of the request status.
schedule:
[
List of schedules returned, one per group. Only 1 group supported at this time.
 {
groupId:
string
startTime:
string
finishTime:
string
latestInstanceStartTime:
string
node:
[
string
]
}
]
}

Responses

Status: 200 - OK

Status: 500 - Unexpected Runtime error