Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend session duration #216

Merged
79 changes: 79 additions & 0 deletions code/API_definitions/qod-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,69 @@ paths:
- threeLegged:
- "qod-sessions-delete"

/sessions/{sessionId}/extend:
post:
tags:
- Change session duration
Copy link
Collaborator

@eric-murray eric-murray Nov 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tag should be Title Case, but it's not clear to me why we need a new tag here

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't add a new tag for this. Tags are intended to group operations and this operation can be part of the existing "QoS Sessions" tag.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 867c743

summary: "Extend the duration of an active session"
description: |
Extend the duration of an active QoS session. If this operation is executed successfully, the new duration of the target session will be the original duration plus the additional duration. The remaining duration plus the requested additional duration shall not exceed the maximum limit. Otherwise, the additional duration will be the maximum limit minus the remaining duration.
hdamker marked this conversation as resolved.
Show resolved Hide resolved
operationId: extendQosSessionDuration
hdamker marked this conversation as resolved.
Show resolved Hide resolved
parameters:
- name: sessionId
in: path
description: Session ID that was obtained from the createSession operation
required: true
schema:
$ref: "#/components/schemas/SessionId"
requestBody:
description: Parameters to extend the duration of an active session
content:
application/json:
schema:
$ref: "#/components/schemas/ExtendSessionDuration"
required: true
responses:
"200":
description: Contains information about active session
content:
application/json:
schema:
$ref: "#/components/schemas/SessionInfo"
hdamker marked this conversation as resolved.
Show resolved Hide resolved
"400":
description: Invalid input for extendQosSessionDuration operation
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorInfo"
examples:
Generic400:
summary: Some parameter combinations or parameter values provided are not schema compliant
value:
status: 400
code: INVALID_ARGUMENT
message: "Schema validation failed at ..."
InactiveSession:
summary: The target session is inactive
value:
status: 400
code: INVALID_ARGUMENT
message: "The target session is inactive"
hdamker marked this conversation as resolved.
Show resolved Hide resolved
"401":
$ref: "#/components/responses/Generic401"
"403":
$ref: "#/components/responses/Generic403"
"404":
$ref: "#/components/responses/SessionNotFound404"
"500":
$ref: "#/components/responses/Generic500"
"503":
$ref: "#/components/responses/Generic503"
security:
- oAuth2ClientCredentials: []
- threeLegged:
- "qod-sessions-write"

hdamker marked this conversation as resolved.
Show resolved Hide resolved
/qos-profiles:
get:
tags:
Expand Down Expand Up @@ -517,6 +580,22 @@ components:
- 5060
- 5070

ExtendSessionDuration:
description: Attributes required to extend the duration of an active session
type: object
properties:
requestedAdditionalDuration:
description: |
Additional duration in seconds to be extended.
type: integer
format: int32
minimum: 1
maximum: 86399
example: 60
required:
- requestedAdditionalDuration


QosProfile:
description: |
Data type with attributes of a QosProfile
Expand Down