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

DOC-2676-Open-Api-Support-For-Get-Automatic-Rightsizing-Savings #735

Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
post:
summary: "Get Ocean Rightsizing Savings"
description: |
Get right-sizing savings for an Ocean cluster.
operationId: "oceanRightsizingSavings"
tags:
- "Ocean Automatic Rightsizing"
parameters:
- $ref: "../parameters/oceanId.yaml"
- $ref: "../../../../commons/parameters/accountId.yaml"
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: "../schemas/oceanRightsizingSavingsRequest.yaml"
responses:
200:
$ref: "../responses/oceanRightsizingSavingsResponse.yaml"
400:
description: "Bad Request"
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
description: "Ocean Rightsizing Savings Response"
content:
application/json:
schema:
allOf:
- $ref: "../../../../commons/schemas/responseItemWrapper.yaml"
- type: object
properties:
request:
type: object
properties:
url:
example: "/ocean/o-abcd1234/rightSizing/savings"
method:
example: "POST"
response:
type: object
properties:
items:
type: array
items:
$ref: "../schemas/oceanRightsizingSavings.yaml"
example:
totalSavingsSummary:
cpuWithOcean: 100,
memoryWithOcean: 128,
savings: 1000,
percentage: 0.75
namespacesSavingsSummary:
- namespace: "kube-system"
savings: 500
- namespace: "default"
savings: 500
workloadSavings:
- workloadName: "coredns"
workloadType: "Deployment"
namespace: "kube-system"
cpuWithOcean: 25
cpuWithoutOcean: 50
memoryWithOcean: 32
memoryWithoutOcean: 64
savings: 250
isDeleted: True
- workloadName: "aws-node"
workloadType: "DaemonSet"
namespace: "kube-system"
cpuWithOcean: 25
cpuWithoutOcean: 50
memoryWithOcean: 32
memoryWithoutOcean: 64
savings: 250
isDeleted": False
count:
example: 1
kind:
example: "mcs:ocean:rightSizing:savings"
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
type: object
title: Ocean Rightsizing Savings Response
description: >
Rightsizing Savings Response Object
properties:
totalSavingsSummary:
type: object
properties:
cpuWithOcean:
type: number
memoryWithOcean:
type: number
savings:
type: number
percentage:
type: number
namespacesSavingsSummary:
type: array
items:
type: object
properties:
namespace:
type: string
savings:
type: number
workloadSavings:
type: array
items:
type: object
properties:
workloadName:
type: string
workloadType:
type: string
namespace:
type: string
cpuWithOcean:
type: number
cpuWithoutOcean:
type: number
memoryWithOcean:
type: number
memoryWithoutOcean:
type: number
savings:
type: number
isDeleted:
type: boolean


Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
type: object
title: Ocean Rightsizing Savings
Copy link
Collaborator

Choose a reason for hiding this comment

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

Ocean Right-Sizing Savings

description: >
Determines the Ocean Rightsizing savings
required:
- endTime
- startTime
- workloads
properties:
startTime:
type: string
example: 2025-01-20T11:35:02.745Z
description: >
Beginning date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472".
endTime:
type: string
example: 2025-01-30T11:30:01.745Z
description: >
End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472".
benchmark:
type: string
description: >
The benchmark to compare the savings against. The default is ORIGINAL.
enum: [ORIGINAL, CURRENT]
workloads:
$ref: "../schemas/oceanRightsizingSavingsWorkloadsRequest.yaml"
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
type: object
title: Ocean Rightsizing Savings Workloads
description: >
Determines the Ocean Savings filtering by the combinations of namespace::workload
properties:
namespaceName:
description: Determines the namespace to filter with an array of it's workloads
type: array
items:
type: string
properties:
workloadName:
type: string
example: {
namespaceName1: [ "workloadName1", "workloadName1" ],
namespaceName2: [ "workloadName1", "workloadName1" ]
}
2 changes: 2 additions & 0 deletions api/spot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -936,6 +936,8 @@ paths:
$ref: services/ocean/rightsizing/paths/oceanRightsizingAcknowledgeRollbacks.yaml
/ocean/{oceanId}/rightSizing/cluster/configuration:
$ref: services/ocean/rightsizing/paths/oceanRightsizingClusterConfiguration.yaml
/ocean/{oceanId}/rightSizing/savings:
$ref: services/ocean/rightsizing/paths/oceanRightsizingSavings.yaml
/security/v1/compliances:
$ref: services/security/v1/paths/compliances.yaml
/security/v1/compliances/count:
Expand Down
Loading