From f96e6543636463a16430541be455c26c2fd049ca Mon Sep 17 00:00:00 2001 From: Dalia Cervantes Date: Thu, 20 Jun 2024 12:40:18 -0500 Subject: [PATCH 1/3] Added Optimization Section --- .../hcc-insights/cost-management/content.json | 1114 ++++++++++++++++- 1 file changed, 1111 insertions(+), 3 deletions(-) diff --git a/packages/common/config/apis/hcc-insights/cost-management/content.json b/packages/common/config/apis/hcc-insights/cost-management/content.json index 1aa23c81..b99008f7 100644 --- a/packages/common/config/apis/hcc-insights/cost-management/content.json +++ b/packages/common/config/apis/hcc-insights/cost-management/content.json @@ -197,6 +197,130 @@ "minimum": 0, "type": "integer" } + }, + "QueryCluster": { + "description": "Cluster alias or UUID", + "in": "query", + "name": "cluster", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryWorkloadType": { + "description": "Options are daemonset, deployment, deploymentconfig, replicaset, replicationcontroller, statefulset", + "in": "query", + "name": "workload_type", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryWorkload": { + "description": "Workload name", + "in": "query", + "name": "workload_type", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryContainer": { + "description": "Container name", + "in": "query", + "name": "container", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryProject": { + "description": "Project name", + "in": "query", + "name": "project", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryPaginationOffset": { + "description": "Pagination offset", + "in": "query", + "name": "offset", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + "QueryPaginationLimit": { + "description": "Pagination limit", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + } + }, + "QueryOrderByReport": { + "description": "Options are cluster, project, workload_type, workload, container, last_reported", + "in": "query", + "name": "order_by", + "required": false, + "schema": { + "type": "string", + "example": "last_reported" + } + }, + "QueryOrderHow": { + "description": "Options are ASC, DESC", + "in": "query", + "name": "order_how", + "required": false, + "schema": { + "type": "string", + "example": "DESC" + } + }, + "PathRecommendation": { + "description": "The recommendation UUID", + "in": "path", + "name": "recommendation-id", + "required": true, + "schema": { + "type": "string" + } + }, + "QueryMemoryUnit": { + "description": "unit preference for memory", + "in": "query", + "name": "memory-unit", + "required": false, + "schema": { + "type": "string", + "enum": [ + "bytes", + "MiB", + "GiB" + ], + "default": "MiB" + } + }, + "QueryCpuUnit": { + "description": "unit preference for cpu", + "in": "query", + "name": "cpu-unit", + "required": false, + "schema": { + "type": "string", + "enum": [ + "millicores", + "cores" + ], + "default": "cores" + } } }, "requestBodies": { @@ -2016,6 +2140,892 @@ }, "type": "object" }, + "RecommendationList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Recommendations" + } + }, + "meta": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "maximum": 10 + }, + "offset": { + "type": "integer", + "minimum": 0 + } + } + }, + "links": { + "type": "object", + "properties": { + "first": { + "type": "string" + }, + "previous": { + "type": "string" + }, + "next": { + "type": "string" + }, + "last": { + "type": "string" + } + } + } + } + }, + "Recommendations": { + "type": "object", + "properties": { + "cluster_alias": { + "type": "string", + "example": "test_cost_ocp_ros_3c462dbe" + }, + "cluster_uuid": { + "type": "string", + "example": "d29c4b8b-f1a8-471c-ab95-b64e36bb51a9" + }, + "container": { + "type": "string", + "example": "pod-ros-A11" + }, + "id": { + "type": "string", + "example": "721eb376-13a9-43ab-868e-755aa1ce7f2a" + }, + "last_reported": { + "type": "string", + "format": "date-time", + "example": "2023-04-18T15:48:54.000Z" + }, + "project": { + "type": "string", + "example": "project-ros-A1" + }, + "recommendations": { + "type": "object", + "properties": { + "current": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 30.715 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 20.391 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + }, + "monitoring_end_time": { + "type": "string", + "format": "date-time" + }, + "recommendation_terms": { + "type": "object", + "properties": { + "long_term": { + "$ref": "#/components/schemas/LongTermRecommendation" + }, + "medium_term": { + "$ref": "#/components/schemas/MediumTermRecommendation" + }, + "short_term": { + "$ref": "#/components/schemas/ShortTermRecommendation" + } + } + } + } + }, + "source_id": { + "type": "string", + "example": "0920ff0d-f1d6-4fe2-8bf3-18e6074bd27b" + }, + "workload": { + "type": "string", + "example": "pod-ros-A11" + }, + "workload_type": { + "type": "string", + "example": "deploymentconfig" + } + } + }, + "LongTermRecommendation": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 360.2 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "MediumTermRecommendation": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 168.1 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "ShortTermRecommendation": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 24.7 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "CostRecommendation": { + "type": "object", + "properties": { + "config": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 5 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 6700 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 3 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 700 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + }, + "pods_count": { + "type": "integer", + "example": 1 + }, + "variation": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1.24 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1700 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1.08 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 300 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + } + } + }, + "PerformanceRecommendation": { + "type": "object", + "properties": { + "config": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 622 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 500 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 3.92 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 6000 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + }, + "pods_count": { + "type": "integer", + "example": 1 + }, + "variation": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": -1.468 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 200 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1056 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + } + } + }, + "RecommendationBoxPlots": { + "type": "object", + "properties": { + "cluster_alias": { + "type": "string", + "example": "test_cost_ocp_ros_3c462dbe" + }, + "cluster_uuid": { + "type": "string", + "example": "d29c4b8b-f1a8-471c-ab95-b64e36bb51a9" + }, + "container": { + "type": "string", + "example": "pod-ros-A11" + }, + "id": { + "type": "string", + "example": "721eb376-13a9-43ab-868e-755aa1ce7f2a" + }, + "last_reported": { + "type": "string", + "format": "date-time", + "example": "2023-04-18T15:48:54.000Z" + }, + "project": { + "type": "string", + "example": "project-ros-A1" + }, + "recommendations": { + "type": "object", + "properties": { + "current": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 30.715 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 20.391 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + }, + "monitoring_end_time": { + "type": "string", + "format": "date-time" + }, + "recommendation_terms": { + "type": "object", + "properties": { + "long_term": { + "$ref": "#/components/schemas/LongTermRecommendationBoxPlots" + }, + "medium_term": { + "$ref": "#/components/schemas/MediumTermRecommendationBoxPlots" + }, + "short_term": { + "$ref": "#/components/schemas/ShortTermRecommendationBoxPlots" + } + } + } + } + }, + "source_id": { + "type": "string", + "example": "0920ff0d-f1d6-4fe2-8bf3-18e6074bd27b" + }, + "workload": { + "type": "string", + "example": "pod-ros-A11" + }, + "workload_type": { + "type": "string", + "example": "deploymentconfig" + } + } + }, + "LongTermRecommendationBoxPlots": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 360.2 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "plots": { + "$ref": "#/components/schemas/PlotsData" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "MediumTermRecommendationBoxPlots": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 168.1 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "plots": { + "$ref": "#/components/schemas/PlotsData" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "ShortTermRecommendationBoxPlots": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 24.7 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "plots": { + "$ref": "#/components/schemas/PlotsData" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "PlotsData": { + "type": "object", + "properties": { + "datapoints": { + "type": "integer", + "example": 4 + }, + "plots_data": { + "$ref": "#/components/schemas/PlotDetails" + } + } + }, + "PlotDetails": { + "type": "object", + "properties": { + "2023-04-01T06:00:00Z": { + "type": "object", + "properties": { + "cpuUsage": { + "$ref": "#/components/schemas/cpuUsage" + }, + "memoryUsage": { + "$ref": "#/components/schemas/memoryUsage" + } + } + }, + "2023-04-01T12:00:00Z": { + "type": "object", + "properties": { + "cpuUsage": { + "$ref": "#/components/schemas/cpuUsage" + }, + "memoryUsage": { + "$ref": "#/components/schemas/memoryUsage" + } + } + }, + "2023-04-01T18:00:00Z": { + "type": "object", + "properties": { + "cpuUsage": { + "$ref": "#/components/schemas/cpuUsage" + }, + "memoryUsage": { + "$ref": "#/components/schemas/memoryUsage" + } + } + }, + "2023-04-02T00:00:00Z": { + "type": "object", + "additionalProperties": false + } + } + }, + "cpuUsage": { + "type": "object", + "properties": { + "format": { + "type": "string", + "example": null, + "nullable": true + }, + "max": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + }, + "median": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + }, + "min": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + }, + "q1": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + }, + "q3": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + } + } + }, + "memoryUsage": { + "type": "object", + "properties": { + "format": { + "type": "string", + "example": "Mi" + }, + "max": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + }, + "median": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + }, + "min": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + }, + "q1": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + }, + "q3": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + } + } + }, + "cpuUsageFloatComponent": { + "type": "number", + "example": 0.05, + "format": "float" + }, + "memoryUsageFloatComponent": { + "type": "number", + "example": 238.2, + "format": "float" + }, "ReportInstanceInventory": { "allOf": [ { @@ -6012,11 +7022,109 @@ ] } }, - "/recommendations/openshift": { - "$ref": "/api/cost-management/v1/recommendations/openshift/openapi.json#/paths/~1recommendations~1openshift" + "/recommendations/openshift/": { + "get": { + "operationId": "getRecommendationList", + "parameters": [ + { + "$ref": "#/components/parameters/QueryCluster" + }, + { + "$ref": "#/components/parameters/QueryWorkloadType" + }, + { + "$ref": "#/components/parameters/QueryWorkload" + }, + { + "$ref": "#/components/parameters/QueryContainer" + }, + { + "$ref": "#/components/parameters/QueryProject" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + }, + { + "$ref": "#/components/parameters/QueryPaginationOffset" + }, + { + "$ref": "#/components/parameters/QueryPaginationLimit" + }, + { + "$ref": "#/components/parameters/QueryOrderByReport" + }, + { + "$ref": "#/components/parameters/QueryOrderHow" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecommendationList" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/RecommendationList" + } + } + }, + "description": "OK" + }, + "401": { + "description": "Unauthorized" + } + }, + "summary": "Get all recommendations", + "tags": [ + "Optimizations" + ] + } }, "/recommendations/openshift/{recommendation-id}": { - "$ref": "/api/cost-management/v1/recommendations/openshift/openapi.json#/paths/~1recommendations~1openshift~1%7Brecommendation-id%7D" + "get": { + "operationId": "getRecommendationById", + "parameters": [ + { + "$ref": "#/components/parameters/PathRecommendation" + }, + { + "$ref": "#/components/parameters/QueryMemoryUnit" + }, + { + "$ref": "#/components/parameters/QueryCpuUnit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecommendationBoxPlots" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/RecommendationBoxPlots" + } + } + }, + "description": "OK" + }, + "401": { + "description": "Unauthorized" + } + }, + "summary": "Get recommendations for container", + "tags": [ + "Optimizations" + ] + } }, "/reports/aws/costs/": { "get": { From f17a2d30a2a590d0a637e21414caeceefb93dcb6 Mon Sep 17 00:00:00 2001 From: Dalia Cervantes Date: Thu, 20 Jun 2024 13:15:21 -0500 Subject: [PATCH 2/3] adding use local file --- packages/discovery/Discovery.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/discovery/Discovery.yml b/packages/discovery/Discovery.yml index c7bbc7b3..566dc941 100644 --- a/packages/discovery/Discovery.yml +++ b/packages/discovery/Discovery.yml @@ -56,6 +56,7 @@ apis: tags: - spend-management - insights + useLocalFile: true - id: drift name: Drift Backend Service description: Service that returns differences between systems From 4701e445dd73baa7f6c60c6b1b8bf0431d2829d1 Mon Sep 17 00:00:00 2001 From: Dalia Cervantes Date: Fri, 21 Jun 2024 09:16:09 -0500 Subject: [PATCH 3/3] add file --- .../hcc-insights/cost-management/openapi.json | 12373 ++++++++++++++++ 1 file changed, 12373 insertions(+) create mode 100644 packages/discovery/resources/api/hcc-insights/cost-management/openapi.json diff --git a/packages/discovery/resources/api/hcc-insights/cost-management/openapi.json b/packages/discovery/resources/api/hcc-insights/cost-management/openapi.json new file mode 100644 index 00000000..02410635 --- /dev/null +++ b/packages/discovery/resources/api/hcc-insights/cost-management/openapi.json @@ -0,0 +1,12373 @@ +{ + "openapi": { + "components": { + "parameters": { + "CostType": { + "description": "String to indicate cost type in report", + "in": "query", + "name": "cost_type", + "required": false, + "schema": { + "default": "unblended_cost", + "enum": [ + "unblended_cost", + "blended_cost", + "savingsplan_effective_cost" + ], + "type": "string" + } + }, + "OrganizationFilter": { + "description": "String to indicate org unit id", + "in": "query", + "name": "org_unit_id", + "required": false, + "schema": { + "$ref": "#/components/schemas/OrganizationFilter" + } + }, + "QueryAccount": { + "description": "Parameter for matching the account data using a contains.", + "in": "query", + "name": "account", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryDelta": { + "description": "Toggle to include delta values in report.", + "in": "query", + "name": "delta", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryEndDate": { + "description": "String to indicate end date of date range.", + "in": "query", + "name": "end_date", + "schema": { + "example": "2023-01-01", + "format": "date", + "type": "string" + } + }, + "QueryFilter": { + "description": "The filter to apply to the report as a URL encoded dictionary.", + "example": { + "enabled": false + }, + "explode": true, + "in": "query", + "name": "filter", + "required": false, + "schema": { + "type": "object" + }, + "style": "deepObject" + }, + "QueryGroupBy": { + "description": "The grouping to apply to the report as a URL encoded dictionary. The syntax is group_by[parameter]=value except for tags, which use group_by[tag:key]=value.", + "example": { + "tag:my_tag": "*" + }, + "explode": true, + "in": "query", + "name": "group_by", + "required": false, + "schema": { + "type": "object" + }, + "style": "deepObject" + }, + "QueryKey": { + "description": "Parameter for matching on a key using a contains.", + "in": "query", + "name": "key", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryKeyOnly": { + "description": "Flag to indicate whether or not only the tag key values will be returned.", + "in": "query", + "name": "key_only", + "schema": { + "type": "boolean" + } + }, + "QueryLimit": { + "description": "Parameter for selecting the amount of data in a returned.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "example": 10, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + "QueryOffset": { + "description": "Parameter for selecting the offset of data.", + "in": "query", + "name": "offset", + "required": false, + "schema": { + "example": 0, + "minimum": 0, + "type": "integer" + } + }, + "QueryOrder": { + "description": "Parameter for ordering the value data.", + "in": "query", + "name": "ordering", + "required": false, + "schema": { + "enum": [ + "value", + "-value" + ], + "type": "string" + } + }, + "QueryOrderBy": { + "description": "The ordering to apply to the report as a URL encoded dictionary. The syntax is order_by[field]=order. Use 'asc' for ascending and 'desc' for descending.", + "example": { + "project": "desc" + }, + "explode": true, + "in": "query", + "name": "order_by", + "required": false, + "schema": { + "type": "object" + }, + "style": "deepObject" + }, + "QuerySearch": { + "description": "Parameter for matching on a key using a contains.", + "in": "query", + "name": "search", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryStartDate": { + "description": "String to indicate start date of date range.", + "in": "query", + "name": "start_date", + "schema": { + "example": "2023-01-01", + "format": "date", + "type": "string" + } + }, + "QueryType": { + "description": "String to identify user access permission type (i.e. AWS, cost_model).", + "in": "query", + "name": "type", + "schema": { + "type": "string" + } + }, + "QueryValue": { + "description": "Parameter for matching the value data using a contains.", + "in": "query", + "name": "value", + "required": false, + "schema": { + "type": "string" + } + }, + "ReportQueryLimit": { + "description": "Parameter for selecting the amount of data in a returned. Limit of 0 will return all data.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 0, + "type": "integer" + } + }, + "QueryCluster": { + "description": "Cluster alias or UUID", + "in": "query", + "name": "cluster", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryWorkloadType": { + "description": "Options are daemonset, deployment, deploymentconfig, replicaset, replicationcontroller, statefulset", + "in": "query", + "name": "workload_type", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryWorkload": { + "description": "Workload name", + "in": "query", + "name": "workload_type", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryContainer": { + "description": "Container name", + "in": "query", + "name": "container", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryProject": { + "description": "Project name", + "in": "query", + "name": "project", + "required": false, + "schema": { + "type": "string" + } + }, + "QueryPaginationOffset": { + "description": "Pagination offset", + "in": "query", + "name": "offset", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + "QueryPaginationLimit": { + "description": "Pagination limit", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + } + }, + "QueryOrderByReport": { + "description": "Options are cluster, project, workload_type, workload, container, last_reported", + "in": "query", + "name": "order_by", + "required": false, + "schema": { + "type": "string", + "example": "last_reported" + } + }, + "QueryOrderHow": { + "description": "Options are ASC, DESC", + "in": "query", + "name": "order_how", + "required": false, + "schema": { + "type": "string", + "example": "DESC" + } + }, + "PathRecommendation": { + "description": "The recommendation UUID", + "in": "path", + "name": "recommendation-id", + "required": true, + "schema": { + "type": "string" + } + }, + "QueryMemoryUnit": { + "description": "unit preference for memory", + "in": "query", + "name": "memory-unit", + "required": false, + "schema": { + "type": "string", + "enum": [ + "bytes", + "MiB", + "GiB" + ], + "default": "MiB" + } + }, + "QueryCpuUnit": { + "description": "unit preference for cpu", + "in": "query", + "name": "cpu-unit", + "required": false, + "schema": { + "type": "string", + "enum": [ + "millicores", + "cores" + ], + "default": "cores" + } + } + }, + "requestBodies": { + "CostGroupsBody": { + "content": { + "application/json": { + "schema": { + "example": [ + { + "group": "Platform", + "project": "accounting" + }, + { + "group": "Platform", + "project": "infra" + } + ], + "items": { + "properties": { + "group": { + "type": "string" + }, + "project": { + "type": "string" + } + }, + "type": "object" + }, + "minItems": 1, + "type": "array" + } + } + }, + "description": "List of project name and cost group", + "required": true + }, + "PutTagsBody": { + "content": { + "application/json": { + "schema": { + "example": { + "ids": [ + "ac6efba7-6047-4d8f-9055-8f3a1c896a18", + "67423602-0f13-47dc-ac09-4d145a9def35", + "832a3858-d80f-4751-bbcc-b345febacf99" + ] + }, + "properties": { + "ids": { + "items": { + "format": "uuid", + "type": "string" + }, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "List of tag UUIDs", + "required": true + }, + "PutTagsMappingBody": { + "content": { + "application/json": { + "schema": { + "example": { + "children": [ + "cdadec18-15b3-4dba-b058-2b195e4eb56a", + "cede0b74-7a26-4929-961a-497733d7af12" + ], + "parent": "96ecdf9a-dea1-4f7c-867d-b8dc513f447c" + }, + "properties": { + "ids": { + "items": { + "format": "uuid", + "type": "string" + }, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "List of tag UUIDs", + "required": true + } + }, + "schemas": { + "CostGroupsResponse": { + "properties": { + "data": { + "items": { + "properties": { + "clusters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "default": { + "type": "boolean" + }, + "group": { + "type": "string" + }, + "project": { + "type": "string" + } + } + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "CostModel": { + "properties": { + "currency": { + "type": "string" + }, + "description": { + "type": "string" + }, + "distribution": { + "enum": [ + "memory", + "cpu" + ], + "type": "string" + }, + "markup": { + "$ref": "#/components/schemas/Markup" + }, + "name": { + "type": "string" + }, + "rates": { + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/TieredRate" + }, + { + "$ref": "#/components/schemas/TagRate" + } + ] + }, + "type": "array" + }, + "source_type": { + "type": "string" + }, + "source_uuids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name", + "description", + "source_type" + ] + }, + "CostModelOut": { + "allOf": [ + { + "$ref": "#/components/schemas/CostModelResp" + }, + { + "properties": { + "created_timestamp": { + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "markup": { + "$ref": "#/components/schemas/Markup" + }, + "updated_timestamp": { + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "uuid": { + "format": "uuid", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + ] + }, + "CostModelPagination": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/CostModelOut" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "CostModelResp": { + "properties": { + "currency": { + "type": "string" + }, + "description": { + "type": "string" + }, + "distribution": { + "enum": [ + "memory", + "cpu" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "rates": { + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/TieredRate" + }, + { + "$ref": "#/components/schemas/TagRate" + } + ] + }, + "type": "array" + }, + "source_type": { + "type": "string" + }, + "sources": { + "items": { + "properties": { + "name": { + "example": "source", + "type": "string" + }, + "uuid": { + "example": "e5ff62e7-e6d6-5513-5532-45fe72792dae", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name", + "description", + "source_type" + ] + }, + "CostType": { + "properties": { + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name", + "description" + ] + }, + "CostTypePagination": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/CostType" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "Currencies": { + "properties": { + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "symbol": { + "type": "string" + } + }, + "required": [ + "code", + "symbol", + "name", + "description" + ] + }, + "Currency": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Currencies" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "Customer": { + "properties": { + "account_id": { + "example": "11838292", + "type": "string" + } + }, + "required": [ + "account_id" + ] + }, + "CustomerOut": { + "allOf": [ + { + "$ref": "#/components/schemas/Customer" + }, + { + "properties": { + "date_created": { + "format": "date-time", + "type": "string" + }, + "uuid": { + "example": "600562e7-d7d7-4516-8522-410e72792daf", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "uuid", + "date_created" + ], + "type": "object" + } + ] + }, + "DependencyError": { + "properties": { + "errors": { + "items": { + "example": { + "detail": "{'sources': ['Redis unavailable. Unable to update Source ID 1.']}", + "source": "detail", + "status": 424 + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "errors" + ] + }, + "Error": { + "properties": { + "errors": { + "items": { + "example": { + "detail": "Not Found.", + "status": 404 + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "errors" + ] + }, + "Forecast": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ForecastData" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ForecastData": { + "properties": { + "data": { + "items": { + "example": [ + [ + { + "date": "2018-05-28", + "values": [ + { + "cost": { + "confidence_max": { + "units": "USD", + "value": 2564.775150581 + }, + "confidence_min": { + "units": "USD", + "value": 0 + }, + "pvalues": { + "units": null, + "value": "0.0" + }, + "rsquared": { + "units": null, + "value": "0.997" + }, + "total": { + "units": "USD", + "value": 2564.775150581 + } + }, + "date": "2018-05-28", + "infrastructure": { + "confidence_max": { + "units": "USD", + "value": 2564.775150581 + }, + "confidence_min": { + "units": "USD", + "value": 0 + }, + "pvalues": { + "units": null, + "value": "0.0" + }, + "rsquared": { + "units": null, + "value": "0.997" + }, + "total": { + "units": "USD", + "value": 2564.775150581 + } + }, + "supplementary": { + "confidence_max": { + "units": "USD", + "value": 2564.775150581 + }, + "confidence_min": { + "units": "USD", + "value": 0 + }, + "pvalues": { + "units": null, + "value": "0.0" + }, + "rsquared": { + "units": null, + "value": "0.997" + }, + "total": { + "units": "USD", + "value": 2564.775150581 + } + } + } + ] + } + ] + ], + "properties": { + "date": { + "description": "Future date for this forecast Y-value.", + "example": "2000-01-01", + "format": "date", + "type": "string" + }, + "values": { + "items": { + "type": "object" + }, + "properties": { + "costs": { + "properties": { + "confidence_max": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + }, + "confidence_min": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + }, + "pvalues": { + "$ref": "#/components/schemas/ForecastDataValueString" + }, + "rsquared": { + "$ref": "#/components/schemas/ForecastDataValueString" + }, + "total": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + } + }, + "type": "object" + }, + "date": { + "description": "Future date for this forecast Y-value.", + "example": "2000-01-01", + "format": "date", + "type": "string" + }, + "infrastructure": { + "properties": { + "confidence_max": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + }, + "confidence_min": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + }, + "pvalues": { + "$ref": "#/components/schemas/ForecastDataValueString" + }, + "rsquared": { + "$ref": "#/components/schemas/ForecastDataValueString" + }, + "total": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + } + }, + "type": "object" + }, + "supplementary": { + "properties": { + "confidence_max": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + }, + "confidence_min": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + }, + "pvalues": { + "$ref": "#/components/schemas/ForecastDataValueString" + }, + "rsquared": { + "$ref": "#/components/schemas/ForecastDataValueString" + }, + "total": { + "$ref": "#/components/schemas/ForecastDataValueNumber" + } + }, + "type": "object" + } + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "ForecastDataValueNumber": { + "properties": { + "units": { + "description": "The value's units.", + "example": "USD", + "type": "string" + }, + "value": { + "description": "A value.", + "example": 123.456789, + "type": "number" + } + }, + "type": "object" + }, + "ForecastDataValueString": { + "properties": { + "units": { + "description": "The value's units.", + "example": "USD", + "type": "string" + }, + "value": { + "description": "A value.", + "example": "123.456789", + "type": "string" + } + }, + "type": "object" + }, + "GetAwsCategorySettings": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "example": [ + { + "enabled": "True", + "key": "env", + "uuid": "be9b46e1-ae73-425c-a3bc-738018d2a41f" + } + ], + "items": {}, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "IngressReportIn": { + "allOf": [ + { + "properties": { + "billing_month": { + "description": "Billing month for report files", + "example": "01", + "type": "string" + }, + "billing_year": { + "description": "Billing year for report files", + "example": "2022", + "type": "string" + }, + "reports_list": { + "description": "List of reports for ingestion.", + "example": [ + "report1.csv", + "report2.csv" + ], + "items": { + "description": "Report files", + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "Source uuid for reports.", + "example": "402719af-93b2-4ae5-9eda-380d1a1e5843", + "type": "string" + } + }, + "required": [ + "source", + "reports_list", + "billing_year", + "billing_month" + ], + "type": "object" + } + ] + }, + "IngressReportOut": { + "allOf": [ + { + "properties": { + "bill_year": { + "description": "Billing year for files.", + "example": "2022", + "type": "string" + }, + "billing_month": { + "description": "Billing month for files.", + "example": "01", + "type": "string" + }, + "completed_timestamp": { + "description": "Timestamp of successfully processed reports.", + "format": "date-time", + "readOnly": true + }, + "created_timestamp": { + "description": "Timestamp of posted reports.", + "format": "date-time", + "readOnly": true + }, + "reports_list": { + "example": [ + "file1", + "file2" + ], + "items": { + "description": "Report files", + "type": "string" + }, + "type": "array" + }, + "source_uuid": { + "example": "57e60f90-8c0c-4bd1-87a0-2143759aae1d", + "format": "uuid", + "type": "string" + }, + "uuid": { + "example": "57e60f90-8c0c-4bd1-87a0-2143759aae1d", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + } + ] + }, + "IngressReportsPagination": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/IngressReportOut" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ListPagination": { + "properties": { + "links": { + "$ref": "#/components/schemas/PaginationLinks" + }, + "meta": { + "$ref": "#/components/schemas/PaginationMeta" + } + } + }, + "Markup": { + "properties": { + "unit": { + "enum": [ + "percent" + ], + "type": "string" + }, + "value": { + "type": "number" + } + } + }, + "Metrics": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/MetricsOut" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "MetricsOut": { + "properties": { + "default_cost_type": { + "type": "string" + }, + "label_measurement": { + "type": "string" + }, + "label_measurement_unit": { + "type": "string" + }, + "label_metric": { + "type": "string" + }, + "metric": { + "type": "string" + }, + "source_type": { + "type": "string" + } + }, + "required": [ + "source_type", + "metric", + "label_metric", + "label_measurement", + "label_measurement_unit", + "default_cost_type" + ] + }, + "ModifyKeySettingsRequestBody": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "example": [ + { + "ids": [ + "be9b46e1-ae73-425c-a3bc-738018d2a41f" + ] + } + ], + "items": {}, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "OrgUnitId": { + "example": "R_001", + "type": "string" + }, + "Organization": { + "properties": { + "accounts": { + "description": "the list of accounts under the org", + "example": [ + "account 003" + ], + "items": { + "description": "individual account", + "type": "string" + }, + "type": "array" + }, + "level": { + "example": 2, + "type": "integer" + }, + "org_unit_id": { + "example": "OU_003", + "type": "string" + }, + "org_unit_name": { + "example": "Dept OU_003", + "type": "string" + }, + "org_unit_path": { + "example": "R_001&OU_002&OU_003", + "type": "string" + }, + "sub_orgs": { + "description": "the list of sub orgs under the org", + "example": [ + "OU_004", + "OU_005" + ], + "items": { + "description": "the individual org", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "org_unit_id", + "org_unit_path", + "level", + "sub_orgs", + "accounts" + ] + }, + "OrganizationFilter": { + "properties": { + "org_unit_id": { + "$ref": "#/components/schemas/OrgUnitId" + }, + "resolution": { + "$ref": "#/components/schemas/ReportResolution" + }, + "time_scope_units": { + "$ref": "#/components/schemas/ReportTimeScopeUnits" + }, + "time_scope_value": { + "$ref": "#/components/schemas/ReportTimeScopeValue" + } + }, + "type": "object" + }, + "OrganizationPagination": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Organization" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "PaginationLinks": { + "properties": { + "first": { + "example": "/cost-management/v1/(resources)/?offset=0", + "format": "uri", + "type": "string" + }, + "last": { + "example": "/cost-management/v1/(resources)/?offset=100", + "format": "uri", + "type": "string" + }, + "next": { + "example": "/cost-management/v1/(resources)/?offset=40", + "format": "uri", + "type": "string" + }, + "previous": { + "example": "/cost-management/v1/(resources)/?offset=20", + "format": "uri", + "type": "string" + } + } + }, + "PaginationMeta": { + "properties": { + "count": { + "example": 30, + "format": "int64", + "type": "integer" + }, + "limit": { + "example": 5, + "format": "int64", + "type": "integer" + }, + "offset": { + "example": 10, + "format": "int64", + "type": "integer" + } + } + }, + "PutAccountSettingRequestBody": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "example": [ + { + "cost_type": "blended_cost" + } + ], + "items": {}, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "Report": { + "properties": { + "links": { + "$ref": "#/components/schemas/PaginationLinks" + }, + "meta": { + "$ref": "#/components/schemas/ReportPaginationMeta" + } + } + }, + "ReportAzureFilter": { + "properties": { + "instance_type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "Limits the data points returns and aggregates remaining data.", + "example": 5, + "type": "integer" + }, + "offset": { + "description": "Offsets the data points returned when using limit.", + "example": 5, + "type": "integer" + }, + "resolution": { + "$ref": "#/components/schemas/ReportResolution" + }, + "resource_location": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resource_scope": { + "example": [], + "items": { + "$ref": "#/components/schemas/ReportResourceScope" + }, + "type": "array" + }, + "service_name": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subscription_guid": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + }, + "time_scope_units": { + "$ref": "#/components/schemas/ReportTimeScopeUnits" + }, + "time_scope_value": { + "$ref": "#/components/schemas/ReportTimeScopeValue" + } + }, + "type": "object" + }, + "ReportAzureGrouping": { + "description": "The grouping to apply to the report. No grouping by default. When grouping by account the account_alias will be provided if avaiable.", + "example": { + "subscription_guid": [ + "*" + ] + }, + "properties": { + "instance_type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resource_location": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service_name": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subscription_guid": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReportAzureOrdering": { + "description": "The ordering to apply to the report. Default is ascending order for the data.", + "example": { + "cost": "asc" + }, + "properties": { + "cost": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "delta": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "infrastructure": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "instance_type": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "resource_location": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "service_name": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "subscription_guid": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "supplementary": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "usage": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportCost": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + [ + { + "accounts": [ + { + "account": "8577742690384", + "values": [ + { + "account": "8577742690384", + "account_alias": "sample-account", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 1499.92962634 + }, + "total": { + "units": "USD", + "value": 1499.92962634 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-05-28", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 1498.92962634 + }, + "total": { + "units": "USD", + "value": 1498.92962634 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "monthly_cost": { + "units": "USD", + "value": 0 + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 1 + }, + "total": { + "units": "USD", + "value": 1 + }, + "usage": { + "units": "USD", + "value": 0 + } + } + } + ] + }, + { + "account": "9420673783214", + "values": [ + { + "account": "9420673783214", + "account_alias": "9420673783214", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-05-28", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + } + } + ] + } + ], + "date": "2018-05-28", + "delta": { + "percent": -27.285392, + "value": 379.4398 + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "total": { + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 2564.775150581 + }, + "total": { + "units": "USD", + "value": 2564.775150581 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 2564.775150581 + }, + "total": { + "units": "USD", + "value": 2564.775150581 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 0 + }, + "total": { + "units": "USD", + "value": 0 + }, + "usage": { + "units": "USD", + "value": 0 + } + } + } + } + ] + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportCosts": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + { + "date": "2018-11", + "projects": [ + { + "project": "monitoring", + "values": [ + { + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-11", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "project": "monitoring", + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + } + } + ] + }, + { + "project": "metering", + "values": [ + { + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-11", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "project": "metering", + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + } + } + ] + } + ] + } + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportCostsOpenShiftOrdering": { + "description": "The ordering to apply to the report. Default is ascending order for the data.", + "example": { + "cluster": "asc" + }, + "properties": { + "cluster": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "cost": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "infrastructure": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "node": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "project": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "supplementary": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportDelta": { + "description": "Field to calculate delta values for in report.", + "example": { + "delta": "cost" + }, + "properties": { + "delta": { + "type": "string" + } + }, + "type": "object" + }, + "ReportFilter": { + "properties": { + "account": { + "items": { + "type": "string" + }, + "type": "array" + }, + "az": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "Limits the data points returns and aggregates remaining data.", + "example": 5, + "type": "integer" + }, + "offset": { + "description": "Offsets the data points returned when using limit.", + "example": 5, + "type": "integer" + }, + "org_unit_id": { + "$ref": "#/components/schemas/OrgUnitId" + }, + "region": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resolution": { + "$ref": "#/components/schemas/ReportResolution" + }, + "resource_scope": { + "example": [], + "items": { + "$ref": "#/components/schemas/ReportResourceScope" + }, + "type": "array" + }, + "service": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + }, + "time_scope_units": { + "$ref": "#/components/schemas/ReportTimeScopeUnits" + }, + "time_scope_value": { + "$ref": "#/components/schemas/ReportTimeScopeValue" + } + }, + "type": "object" + }, + "ReportGrouping": { + "description": "The grouping to apply to the report. No grouping by default. When grouping by account the account_alias will be provided if avaiable.", + "example": { + "account": [ + "*" + ] + }, + "properties": { + "account": { + "items": { + "type": "string" + }, + "type": "array" + }, + "az": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instance_type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "org_unit_id": { + "$ref": "#/components/schemas/OrgUnitId" + }, + "region": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "items": { + "type": "string" + }, + "type": "array" + }, + "storage_type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RecommendationList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Recommendations" + } + }, + "meta": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "maximum": 10 + }, + "offset": { + "type": "integer", + "minimum": 0 + } + } + }, + "links": { + "type": "object", + "properties": { + "first": { + "type": "string" + }, + "previous": { + "type": "string" + }, + "next": { + "type": "string" + }, + "last": { + "type": "string" + } + } + } + } + }, + "Recommendations": { + "type": "object", + "properties": { + "cluster_alias": { + "type": "string", + "example": "test_cost_ocp_ros_3c462dbe" + }, + "cluster_uuid": { + "type": "string", + "example": "d29c4b8b-f1a8-471c-ab95-b64e36bb51a9" + }, + "container": { + "type": "string", + "example": "pod-ros-A11" + }, + "id": { + "type": "string", + "example": "721eb376-13a9-43ab-868e-755aa1ce7f2a" + }, + "last_reported": { + "type": "string", + "format": "date-time", + "example": "2023-04-18T15:48:54.000Z" + }, + "project": { + "type": "string", + "example": "project-ros-A1" + }, + "recommendations": { + "type": "object", + "properties": { + "current": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 30.715 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 20.391 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + }, + "monitoring_end_time": { + "type": "string", + "format": "date-time" + }, + "recommendation_terms": { + "type": "object", + "properties": { + "long_term": { + "$ref": "#/components/schemas/LongTermRecommendation" + }, + "medium_term": { + "$ref": "#/components/schemas/MediumTermRecommendation" + }, + "short_term": { + "$ref": "#/components/schemas/ShortTermRecommendation" + } + } + } + } + }, + "source_id": { + "type": "string", + "example": "0920ff0d-f1d6-4fe2-8bf3-18e6074bd27b" + }, + "workload": { + "type": "string", + "example": "pod-ros-A11" + }, + "workload_type": { + "type": "string", + "example": "deploymentconfig" + } + } + }, + "LongTermRecommendation": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 360.2 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "MediumTermRecommendation": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 168.1 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "ShortTermRecommendation": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 24.7 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "CostRecommendation": { + "type": "object", + "properties": { + "config": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 5 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 6700 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 3 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 700 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + }, + "pods_count": { + "type": "integer", + "example": 1 + }, + "variation": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1.24 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1700 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1.08 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 300 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + } + } + }, + "PerformanceRecommendation": { + "type": "object", + "properties": { + "config": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 622 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 500 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 3.92 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 6000 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + }, + "pods_count": { + "type": "integer", + "example": 1 + }, + "variation": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": -1.468 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 200 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1056 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + } + } + }, + "RecommendationBoxPlots": { + "type": "object", + "properties": { + "cluster_alias": { + "type": "string", + "example": "test_cost_ocp_ros_3c462dbe" + }, + "cluster_uuid": { + "type": "string", + "example": "d29c4b8b-f1a8-471c-ab95-b64e36bb51a9" + }, + "container": { + "type": "string", + "example": "pod-ros-A11" + }, + "id": { + "type": "string", + "example": "721eb376-13a9-43ab-868e-755aa1ce7f2a" + }, + "last_reported": { + "type": "string", + "format": "date-time", + "example": "2023-04-18T15:48:54.000Z" + }, + "project": { + "type": "string", + "example": "project-ros-A1" + }, + "recommendations": { + "type": "object", + "properties": { + "current": { + "type": "object", + "properties": { + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 30.715 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + }, + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 2 + }, + "format": { + "type": "string", + "example": null, + "nullable": true + } + } + }, + "memory": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 20.391 + }, + "format": { + "type": "string", + "example": "Mi" + } + } + } + } + } + } + }, + "monitoring_end_time": { + "type": "string", + "format": "date-time" + }, + "recommendation_terms": { + "type": "object", + "properties": { + "long_term": { + "$ref": "#/components/schemas/LongTermRecommendationBoxPlots" + }, + "medium_term": { + "$ref": "#/components/schemas/MediumTermRecommendationBoxPlots" + }, + "short_term": { + "$ref": "#/components/schemas/ShortTermRecommendationBoxPlots" + } + } + } + } + }, + "source_id": { + "type": "string", + "example": "0920ff0d-f1d6-4fe2-8bf3-18e6074bd27b" + }, + "workload": { + "type": "string", + "example": "pod-ros-A11" + }, + "workload_type": { + "type": "string", + "example": "deploymentconfig" + } + } + }, + "LongTermRecommendationBoxPlots": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 360.2 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "plots": { + "$ref": "#/components/schemas/PlotsData" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "MediumTermRecommendationBoxPlots": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 168.1 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "plots": { + "$ref": "#/components/schemas/PlotsData" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "ShortTermRecommendationBoxPlots": { + "type": "object", + "properties": { + "duration_in_hours": { + "type": "number", + "format": "float", + "example": 24.7 + }, + "monitoring_start_time": { + "type": "string", + "format": "date-time", + "example": "2023-06-02T00:45:00Z" + }, + "plots": { + "$ref": "#/components/schemas/PlotsData" + }, + "recommendation_engines": { + "type": "object", + "properties": { + "cost": { + "$ref": "#/components/schemas/CostRecommendation" + }, + "performance": { + "$ref": "#/components/schemas/PerformanceRecommendation" + } + } + } + } + }, + "PlotsData": { + "type": "object", + "properties": { + "datapoints": { + "type": "integer", + "example": 4 + }, + "plots_data": { + "$ref": "#/components/schemas/PlotDetails" + } + } + }, + "PlotDetails": { + "type": "object", + "properties": { + "2023-04-01T06:00:00Z": { + "type": "object", + "properties": { + "cpuUsage": { + "$ref": "#/components/schemas/cpuUsage" + }, + "memoryUsage": { + "$ref": "#/components/schemas/memoryUsage" + } + } + }, + "2023-04-01T12:00:00Z": { + "type": "object", + "properties": { + "cpuUsage": { + "$ref": "#/components/schemas/cpuUsage" + }, + "memoryUsage": { + "$ref": "#/components/schemas/memoryUsage" + } + } + }, + "2023-04-01T18:00:00Z": { + "type": "object", + "properties": { + "cpuUsage": { + "$ref": "#/components/schemas/cpuUsage" + }, + "memoryUsage": { + "$ref": "#/components/schemas/memoryUsage" + } + } + }, + "2023-04-02T00:00:00Z": { + "type": "object", + "additionalProperties": false + } + } + }, + "cpuUsage": { + "type": "object", + "properties": { + "format": { + "type": "string", + "example": null, + "nullable": true + }, + "max": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + }, + "median": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + }, + "min": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + }, + "q1": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + }, + "q3": { + "$ref": "#/components/schemas/cpuUsageFloatComponent" + } + } + }, + "memoryUsage": { + "type": "object", + "properties": { + "format": { + "type": "string", + "example": "Mi" + }, + "max": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + }, + "median": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + }, + "min": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + }, + "q1": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + }, + "q3": { + "$ref": "#/components/schemas/memoryUsageFloatComponent" + } + } + }, + "cpuUsageFloatComponent": { + "type": "number", + "example": 0.05, + "format": "float" + }, + "memoryUsageFloatComponent": { + "type": "number", + "example": 238.2, + "format": "float" + }, + "ReportInstanceInventory": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + [ + { + "date": "2018-05-28", + "instance_types": [ + { + "instance_type": "t2.medium", + "values": [ + { + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-05-28", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "instance_type": "t2.medium", + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "Hrs", + "value": 5 + } + } + ] + }, + { + "instance_type": "m5.2xlarge", + "values": [ + { + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-05-28", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "instance_type": "m5.2xlarge", + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "Hrs", + "value": 29 + } + } + ] + } + ] + } + ] + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ] + } + ] + }, + "ReportInventoryOpenShiftOrdering": { + "description": "The ordering to apply to the report. Default is ascending order for the data.", + "example": { + "cluster": "asc" + }, + "properties": { + "cluster": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "cost": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "infrastructure": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "limit": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "node": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "project": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "request": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "supplementary": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "usage": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportOpenShiftAWSFilter": { + "properties": { + "account": { + "items": { + "type": "string" + }, + "type": "array" + }, + "az": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cluster": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "Limits the data points returns and aggregates remaining data.", + "example": 5, + "type": "integer" + }, + "node": { + "items": { + "type": "string" + }, + "type": "array" + }, + "offset": { + "description": "Offsets the data points returned when using limit.", + "example": 5, + "type": "integer" + }, + "project": { + "items": { + "type": "string" + }, + "type": "array" + }, + "region": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resolution": { + "$ref": "#/components/schemas/ReportResolution" + }, + "resource_scope": { + "example": [], + "items": { + "$ref": "#/components/schemas/ReportResourceScope" + }, + "type": "array" + }, + "service": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + }, + "time_scope_units": { + "$ref": "#/components/schemas/ReportTimeScopeUnits" + }, + "time_scope_value": { + "$ref": "#/components/schemas/ReportTimeScopeValue" + } + }, + "type": "object" + }, + "ReportOpenShiftAWSGrouping": { + "description": "The grouping to apply to the report. No grouping by default. When grouping by account the account_alias will be provided if avaiable.", + "example": { + "account": [ + "*" + ] + }, + "properties": { + "account": { + "items": { + "type": "string" + }, + "type": "array" + }, + "az": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cluster": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instance_type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "node": { + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "items": { + "type": "string" + }, + "type": "array" + }, + "region": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "items": { + "type": "string" + }, + "type": "array" + }, + "storage_type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReportOpenShiftAWSInstanceInventory": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + { + "accounts": [ + { + "account": "9999999999999", + "values": [ + { + "account": "9999999999999", + "account_alias": "9999999999999", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2019-01", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "Hrs", + "value": 24 + } + } + ] + } + ], + "date": "2019-01" + } + ], + "type": "object" + }, + "type": "array" + }, + "filter": { + "$ref": "#/components/schemas/ReportOpenShiftAWSFilter" + }, + "group_by": { + "$ref": "#/components/schemas/ReportOpenShiftAWSGrouping" + }, + "order_by": { + "$ref": "#/components/schemas/ReportOpenShiftAWSOrdering" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportOpenShiftAWSOrdering": { + "description": "The ordering to apply to the report. Default is ascending order for the data.", + "example": { + "cost": "asc" + }, + "properties": { + "account_alias": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "cluster": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "cost": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "delta": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "infrastructure": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "node": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "project": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "region": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "service": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "supplementary": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "usage": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportOpenShiftAWSStorageInventory": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + { + "accounts": [ + { + "account": "9999999999999", + "values": [ + { + "account": "9999999999999", + "account_alias": "9999999999999", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2019-01", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "GB-Mo", + "value": 24 + } + } + ] + } + ], + "date": "2019-01" + } + ], + "type": "object" + }, + "type": "array" + }, + "filter": { + "$ref": "#/components/schemas/ReportOpenShiftAWSFilter" + }, + "group_by": { + "$ref": "#/components/schemas/ReportOpenShiftAWSGrouping" + }, + "order_by": { + "$ref": "#/components/schemas/ReportOpenShiftAWSOrdering" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportOpenShiftAllInstanceInventory": { + "allOf": [ + { + "$ref": "#/components/schemas/ReportOpenShiftAWSInstanceInventory" + }, + { + "type": "object" + } + ] + }, + "ReportOpenShiftAllStorageInventory": { + "allOf": [ + { + "$ref": "#/components/schemas/ReportOpenShiftAWSStorageInventory" + }, + { + "type": "object" + } + ] + }, + "ReportOpenShiftAzureFilter": { + "properties": { + "cluster": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instance_type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "Limits the data points returns and aggregates remaining data.", + "example": 5, + "type": "integer" + }, + "node": { + "items": { + "type": "string" + }, + "type": "array" + }, + "offset": { + "description": "Offsets the data points returned when using limit.", + "example": 5, + "type": "integer" + }, + "project": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resolution": { + "$ref": "#/components/schemas/ReportResolution" + }, + "resource_location": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resource_scope": { + "example": [], + "items": { + "$ref": "#/components/schemas/ReportResourceScope" + }, + "type": "array" + }, + "service_name": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subscription_guid": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + }, + "time_scope_units": { + "$ref": "#/components/schemas/ReportTimeScopeUnits" + }, + "time_scope_value": { + "$ref": "#/components/schemas/ReportTimeScopeValue" + } + }, + "type": "object" + }, + "ReportOpenShiftAzureGrouping": { + "description": "The grouping to apply to the report. No grouping by default. When grouping by account the account_alias will be provided if avaiable.", + "example": { + "subscription_guid": [ + "*" + ] + }, + "properties": { + "cluster": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instance_type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "node": { + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resource_location": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service_name": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subscription_guid": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReportOpenShiftAzureInstanceInventory": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "filter": { + "$ref": "#/components/schemas/ReportOpenShiftAzureFilter" + }, + "group_by": { + "$ref": "#/components/schemas/ReportOpenShiftAzureGrouping" + }, + "order_by": { + "$ref": "#/components/schemas/ReportOpenShiftAzureOrdering" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportOpenShiftAzureOrdering": { + "description": "The ordering to apply to the report. Default is ascending order for the data.", + "example": { + "cost": "asc" + }, + "properties": { + "cluster": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "cost": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "delta": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "infrastructure": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "instance_type": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "node": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "project": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "resource_location": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "service_name": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "subscription_guid": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "supplementary": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "usage": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportOpenShiftAzureStorageInventory": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "filter": { + "$ref": "#/components/schemas/ReportOpenShiftAzureFilter" + }, + "group_by": { + "$ref": "#/components/schemas/ReportOpenShiftAzureGrouping" + }, + "order_by": { + "$ref": "#/components/schemas/ReportOpenShiftAzureOrdering" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportOpenShiftCpu": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + [ + { + "date": "2018-10", + "values": [ + { + "capacity": { + "units": "Core-Hours", + "value": 4838.266667 + }, + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-10", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "limit": { + "units": "Core-Hours", + "value": 47.668334 + }, + "request": { + "units": "Core-Hours", + "value": "47.66," + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "Core-Hours", + "value": "0.611978," + } + } + ] + } + ] + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportOpenShiftFilter": { + "properties": { + "cluster": { + "items": { + "type": "string" + }, + "type": "array" + }, + "infrastructures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "Limits the data points returns and aggregates remaining data.", + "example": 5, + "type": "integer" + }, + "node": { + "items": { + "type": "string" + }, + "type": "array" + }, + "offset": { + "description": "Offsets the data points returned when using limit.", + "example": 5, + "type": "integer" + }, + "pod": { + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resolution": { + "$ref": "#/components/schemas/ReportResolution" + }, + "resource_scope": { + "example": [], + "items": { + "$ref": "#/components/schemas/ReportResourceScope" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + }, + "time_scope_units": { + "$ref": "#/components/schemas/ReportTimeScopeUnits" + }, + "time_scope_value": { + "$ref": "#/components/schemas/ReportTimeScopeValue" + } + }, + "type": "object" + }, + "ReportOpenShiftGrouping": { + "description": "The grouping to apply to the report. No grouping by default.", + "example": { + "project": [ + "*" + ] + }, + "properties": { + "cluster": { + "items": { + "type": "string" + }, + "type": "array" + }, + "node": { + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReportOpenShiftMemory": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + [ + { + "date": "2018-10", + "values": [ + { + "capacity": { + "units": "GiB-Hours", + "value": 17893.948761 + }, + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-10", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "limit": { + "units": "GiB-Hours", + "value": 405.835939 + }, + "request": { + "units": "GiB-Hours", + "value": 6.158921 + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "GiB-Hours", + "value": 4.62038 + } + } + ] + } + ] + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportOpenShiftVolume": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + { + "date": "2019-02", + "values": [ + { + "capacity": { + "units": "GiB-Mo", + "value": 13732.252982 + }, + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2019-02", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "request": { + "units": "GiB-Mo", + "value": 14058.333334 + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "GiB-Mo", + "value": 283.455815 + } + } + ] + } + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportOrdering": { + "description": "The ordering to apply to the report. Default is ascending order for the data.", + "example": { + "cost": "asc" + }, + "properties": { + "account_alias": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "cost": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "delta": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "infrastructure": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "region": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "service": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "supplementary": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "usage": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportPaginationMeta": { + "properties": { + "count": { + "example": 30, + "format": "int64", + "type": "integer" + }, + "delta": { + "$ref": "#/components/schemas/ReportDelta" + }, + "filter": { + "oneOf": [ + { + "$ref": "#/components/schemas/ReportFilter" + }, + { + "$ref": "#/components/schemas/ReportAzureFilter" + }, + { + "$ref": "#/components/schemas/ReportOpenShiftFilter" + }, + { + "$ref": "#/components/schemas/ReportOpenShiftAWSFilter" + }, + { + "$ref": "#/components/schemas/ReportOpenShiftAzureFilter" + } + ] + }, + "group_by": { + "oneOf": [ + { + "$ref": "#/components/schemas/ReportGrouping" + }, + { + "$ref": "#/components/schemas/ReportAzureGrouping" + }, + { + "$ref": "#/components/schemas/ReportOpenShiftGrouping" + }, + { + "$ref": "#/components/schemas/ReportOpenShiftAWSGrouping" + }, + { + "$ref": "#/components/schemas/ReportOpenShiftAzureGrouping" + } + ] + }, + "order_by": { + "oneOf": [ + { + "$ref": "#/components/schemas/ReportOrdering" + }, + { + "$ref": "#/components/schemas/ReportAzureOrdering" + }, + { + "$ref": "#/components/schemas/ReportCostsOpenShiftOrdering" + }, + { + "$ref": "#/components/schemas/ReportInventoryOpenShiftOrdering" + }, + { + "$ref": "#/components/schemas/ReportOpenShiftAWSOrdering" + }, + { + "$ref": "#/components/schemas/ReportOpenShiftAzureOrdering" + } + ] + }, + "units": { + "description": "The units for the output data.", + "example": "", + "type": "string" + } + } + }, + "ReportResolution": { + "description": "The resolution to apply to the report. Default resolution is daily.", + "enum": [ + "daily", + "monthly" + ], + "type": "string" + }, + "ReportResourceScope": { + "description": "The resources scope to apply to the report. Default resource scope is null, meaning no product or service filtering.", + "enum": [ + "EC2", + "EBS", + "EFS", + "S3" + ], + "type": "string" + }, + "ReportStorageInventory": { + "allOf": [ + { + "$ref": "#/components/schemas/Report" + }, + { + "properties": { + "data": { + "items": { + "example": [ + [ + { + "accounts": [ + { + "account": "9420673783214", + "values": [ + { + "account": "9420673783214", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-07", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "GB-Mo", + "value": 1826.74238146924 + } + } + ] + }, + { + "account": "8577742690384", + "values": [ + { + "account": "8577742690384", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-07", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "GB-Mo", + "value": 1137.74036198065 + } + } + ] + }, + { + "account": "3474227945050", + "values": [ + { + "account": "3474227945050", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-07", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "GB-Mo", + "value": 1045.80659412797 + } + } + ] + }, + { + "account": "7249815104968", + "values": [ + { + "account": "7249815104968", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-07", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "GB-Mo", + "value": 807.326470618818 + } + } + ] + }, + { + "account": "9420673783214", + "values": [ + { + "account": "9420673783214", + "cost": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 55 + }, + "total": { + "units": "USD", + "value": 55 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "date": "2018-07", + "infrastructure": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 33 + }, + "total": { + "units": "USD", + "value": 33 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "source_uuid": [ + "56c3d549-0ebb-4648-8467-e4274687fcff" + ], + "supplementary": { + "markup": { + "units": "USD", + "value": 0 + }, + "raw": { + "units": "USD", + "value": 22 + }, + "total": { + "units": "USD", + "value": 22 + }, + "usage": { + "units": "USD", + "value": 0 + } + }, + "usage": { + "units": "GB-Mo", + "value": 658.306642830709 + } + } + ] + } + ], + "date": "2018-07" + } + ] + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ReportTimeScopeUnits": { + "description": "The units to apply to the report. Default time_scope_units is day.", + "enum": [ + "day", + "month" + ], + "type": "string" + }, + "ReportTimeScopeValue": { + "description": "The time scope to apply to the report. Default time scope is '-10', meaning the last 10 days. Last 30 days would be '-30'. '-10' and '-30' are only valid when used with 'day' time_scope_units.'-1' is used for current month, '-2' is used for last month when time_scope_units is 'month' otherwise invalid.", + "enum": [ + -1, + -2, + -10, + -30 + ], + "example": -10, + "type": "integer" + }, + "ResourceTypeAwsCategories": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "example": [ + { + "enabled": "True", + "key": "env", + "values": [ + "prod", + "ephemeral", + "stage" + ] + } + ], + "items": {}, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ResourceTypeListOut": { + "properties": { + "count": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "ResourceTypeListPagination": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ResourceTypeListOut" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "ResourceTypeOut": { + "properties": { + "value": { + "type": "string" + } + } + }, + "ResourceTypePagination": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ResourceTypeOut" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "SettingIn": { + "properties": { + "api": { + "example": { + "settings": { + "tag-management": { + "enabled": [ + "aws-tag_key1", + "aws-tag_key2", + "azure-tag_key1", + "azure-tag_key2", + "azure-tag_key3" + ] + } + } + }, + "type": "object" + } + }, + "required": [ + "api" + ] + }, + "SettingOut": { + "properties": { + "component": { + "type": "string" + }, + "fields": { + "items": { + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + } + } + }, + "SettingsTagsEnabledLimitError": { + "properties": { + "enabled": { + "example": 187, + "type": "integer" + }, + "error": { + "default": "The maximum number of enabled tags is 200.", + "type": "string" + }, + "limit": { + "example": 200, + "type": "integer" + } + } + }, + "SettingsTagsMappingsOptionsResponse": { + "properties": { + "data": { + "items": { + "example": [ + { + "key": "app", + "source_type": "Azure", + "uuid": "dd724abf-7a86-4254-a588-940eedec2e7d" + } + ], + "properties": { + "uuid": { + "format": "uuid", + "type": "string" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "type": "array" + }, + "links": { + "$ref": "#/components/schemas/PaginationLinks" + }, + "meta": { + "$ref": "#/components/schemas/PaginationMeta" + } + } + }, + "SettingsTagsMappingsResponse": { + "properties": { + "data": { + "items": { + "example": [ + { + "parent": { + "children": [ + { + "key": "mapping", + "source_type": "OCP", + "uuid": "95f2040f-1e60-44c0-a69e-89b8a4cc7216" + } + ], + "key": "environment", + "source_type": "OCP", + "uuid": "35711afc-a0bd-491f-84d1-7cfed0012a24" + } + } + ], + "properties": { + "uuid": { + "format": "uuid", + "type": "string" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "type": "array" + }, + "links": { + "$ref": "#/components/schemas/PaginationLinks" + }, + "meta": { + "$ref": "#/components/schemas/PaginationMeta" + } + } + }, + "SettingsTagsResponse": { + "properties": { + "data": { + "items": { + "example": [ + { + "enabled": false, + "key": "openshift_project", + "source_type": "AWS", + "uuid": "ac6efba7-6047-4d8f-9055-8f3a1c896a18" + } + ], + "properties": { + "uuid": { + "format": "uuid", + "type": "string" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "type": "array" + }, + "links": { + "$ref": "#/components/schemas/PaginationLinks" + }, + "meta": { + "$ref": "#/components/schemas/PaginationMeta" + } + } + }, + "Source": { + "properties": { + "id": { + "example": "Platform source identifier", + "type": "integer" + }, + "source_type": { + "example": "AWS", + "type": "string" + } + }, + "required": [ + "id", + "source_type" + ] + }, + "SourceIn": { + "allOf": [ + { + "$ref": "#/components/schemas/Source" + }, + { + "properties": { + "authentication": { + "description": "Dictionary containing resource name.", + "example": { + "resource_name": "arn" + }, + "type": "object" + }, + "billing_source": { + "description": "Dictionary containing billing source.", + "example": { + "bucket": "test-bucket" + }, + "type": "object" + } + }, + "required": [ + "authentication", + "billing_source" + ], + "type": "object" + } + ] + }, + "SourceOut": { + "allOf": [ + { + "$ref": "#/components/schemas/Source" + }, + { + "properties": { + "active": { + "default": false, + "description": "Flag to indicate if provider is successfully configured.", + "type": "boolean" + }, + "additional_context": { + "description": "Dictionary containing OpenShift foundational infrastructure type and uuid.", + "example": { + "crawl_heirarchy": "False" + }, + "type": "object" + }, + "authentication": { + "description": "Dictionary containing resource name.", + "example": { + "resource_name": "arn" + }, + "type": "object" + }, + "billing_source": { + "description": "Dictionary containing billing source.", + "example": { + "bucket": "test-bucket" + }, + "type": "object" + }, + "cost_models": { + "description": "List of cost model name and UUIDs associated with this source.", + "items": { + "properties": { + "name": { + "example": "My Great Cost Model", + "type": "string" + }, + "uuid": { + "example": "D823A725-DC10-496A-AF08-12533E4F8FE4", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "current_month_data": { + "default": false, + "description": "Flag to indicate if provider has report data for the current month.", + "type": "boolean" + }, + "has_data": { + "default": false, + "description": "Flag to indicate if provider has report data for any month.", + "type": "boolean" + }, + "id": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "infrastructure": { + "description": "Dictionary containing OpenShift foundational infrastructure type and uuid.", + "example": { + "type": "AWS", + "uuid": "57e60f90-8c0c-4bd1-87a0-2143759aae1d" + }, + "type": "object" + }, + "name": { + "example": "My Source", + "type": "string" + }, + "paused": { + "default": false, + "description": "Flag to indicate if provider is paused.", + "type": "boolean" + }, + "previous_month_data": { + "default": false, + "description": "Flag to indicate if provider has report data for the previous month.", + "type": "boolean" + }, + "provider_linked": { + "default": false, + "description": "Flag to indicate if provider is linked to source.", + "type": "boolean" + }, + "source_type": { + "example": "OCP", + "type": "string" + }, + "uuid": { + "example": "57e60f90-8c0c-4bd1-87a0-2143759aae1d", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + } + ] + }, + "SourcePagination": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/SourceOut" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "Status": { + "properties": { + "api_version": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "commit": { + "example": "178d2ea", + "type": "string" + }, + "config": { + "example": { + "account_access_type": "db", + "debug": true + }, + "type": "object" + }, + "modules": { + "example": { + "coverage": "4.5.1", + "coverage.version": "4.5.1", + "coverage.xmlreport": "4.5.1", + "cryptography": "2.0.3", + "ctypes": "1.1.0", + "ctypes.macholib": "1.0", + "decimal": "1.70", + "django": "1.11.5", + "django.utils.six": "1.10.0", + "django_filters": "1.0.4", + "http.server": "0.6" + }, + "type": "object" + }, + "platform_info": { + "example": { + "machine": "x86_64", + "node": "node-1.example.com", + "processor": "i386", + "release": "17.5.0", + "system": "Darwin", + "version": "Darwin Kernel Version 17.5.0" + }, + "type": "object" + }, + "python_version": { + "example": "3.6.1", + "type": "string" + }, + "rbac_cache_ttl": { + "example": "30", + "type": "integer" + }, + "server_address": { + "example": "127.0.0.1:8000", + "type": "string" + } + }, + "required": [ + "api_version" + ] + }, + "TagRate": { + "properties": { + "cost-type": { + "enum": [ + "Infrastructure", + "Supplementary" + ], + "type": "string" + }, + "description": { + "example": "Rate description", + "type": "string" + }, + "metric": { + "example": { + "display_name": "Compute usage Rate", + "name": "cpu_core_per_hour", + "unit": "core-hours" + }, + "type": "object" + }, + "tag_rates": { + "properties": { + "tag_key": { + "enum": [ + "key_one" + ], + "type": "string" + }, + "tag_values": { + "example": [ + { + "default": true, + "description": "Developers", + "tag_value": "dev", + "unit": "USD", + "usage": { + "unit": "USD", + "usage_end": 10, + "usage_start": 0 + }, + "value": 0.2 + } + ], + "items": { + "properties": { + "default": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "tag_value": { + "type": "string" + }, + "unit": { + "enum": [ + "USD" + ], + "type": "string" + }, + "usage": { + "type": "object" + }, + "value": { + "type": "string" + } + } + }, + "type": "array" + } + }, + "required": [ + "tag_key" + ] + }, + "uuid": { + "example": "83ee048e-3c1d-43ef-b945-108225ae52f4", + "format": "uuid", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "metric" + ] + }, + "Tags": { + "properties": { + "data": { + "example": [ + "production", + "staging", + "test" + ], + "items": {}, + "type": "array" + }, + "filter": { + "$ref": "#/components/schemas/TagsFilter" + } + } + }, + "TagsFilter": { + "properties": { + "resolution": { + "$ref": "#/components/schemas/ReportResolution" + }, + "time_scope_units": { + "$ref": "#/components/schemas/ReportTimeScopeUnits" + }, + "time_scope_value": { + "$ref": "#/components/schemas/ReportTimeScopeValue" + } + }, + "type": "object" + }, + "TieredRate": { + "properties": { + "cost-type": { + "enum": [ + "Infrastructure", + "Supplementary" + ], + "type": "string" + }, + "description": { + "example": "Rate description", + "type": "string" + }, + "metric": { + "example": { + "display_name": "Compute usage Rate", + "name": "cpu_core_per_hour", + "unit": "core-hours" + }, + "type": "object" + }, + "tiered_rates": { + "example": [ + { + "unit": "USD", + "usage": { + "usage_end": 10, + "usage_start": 0 + }, + "value": 0.22 + } + ], + "items": { + "properties": { + "unit": { + "enum": [ + "USD" + ], + "type": "string" + }, + "usage": { + "type": "object" + }, + "value": { + "type": "number" + } + } + }, + "type": "array" + }, + "uuid": { + "example": "83ee048e-3c1d-43ef-b945-108225ae52f4", + "format": "uuid", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "metric" + ] + }, + "User": { + "properties": { + "email": { + "example": "smithj@mytechco.com", + "format": "email", + "type": "string" + }, + "username": { + "example": "smithj", + "type": "string" + } + }, + "required": [ + "username", + "email" + ] + }, + "UserAccessListPagination": { + "allOf": [ + { + "$ref": "#/components/schemas/ListPagination" + }, + { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/UserAccessTypeOut" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + } + ] + }, + "UserAccessTypeOut": { + "properties": { + "access": { + "type": "boolean" + }, + "type": { + "type": "string" + } + } + }, + "UserOut": { + "allOf": [ + { + "$ref": "#/components/schemas/User" + }, + { + "properties": { + "uuid": { + "example": "57e60f90-8c0c-4bd1-87a0-2143759aae1c", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "uuid" + ], + "type": "object" + } + ] + }, + "UserSetting": { + "properties": { + "setting": { + "type": "string" + } + } + }, + "UserSettings": { + "properties": { + "cost_type": { + "type": "string" + }, + "currency": { + "type": "string" + } + } + }, + "cluster": { + "description": "The cluster_id or cluster_alias to filter on", + "example": "my-ocp-cluster", + "type": "string" + } + }, + "securitySchemes": { + "basic_auth": { + "description": "Use service account authentication to access this API. See the cost management documentation for details.", + "scheme": "basic", + "type": "http" + } + } + }, + "externalDocs": { + "description": "Find out more about Cost Management", + "url": "https://github.com/project-koku/" + }, + "info": { + "description": "Access your cloud and OpenShift data you integrated with cost management.", + "license": { + "name": "AGPL-3.0", + "url": "https://opensource.org/licenses/AGPL-3.0" + }, + "title": "Cost Management", + "version": "v1" + }, + "openapi": "3.0.0", + "paths": { + "/account-settings/": { + "get": { + "operationId": "getUserSettings", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSettings" + } + } + }, + "description": "An object describing the users current account settings" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "User Account Settings not found" + } + }, + "summary": "Obtain the current account settings", + "tags": [ + "Account Settings" + ] + } + }, + "/account-settings/{setting}": { + "get": { + "operationId": "getUserSetting", + "parameters": [ + { + "description": "Name of a setting to get", + "in": "path", + "name": "setting", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSetting" + } + } + }, + "description": "An object describing a specific current user account setting" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "User Account Setting not found" + } + }, + "summary": "Obtain a specific current user account setting", + "tags": [ + "Account Settings" + ] + }, + "put": { + "operationId": "putAccountSettings", + "parameters": [ + { + "description": "Name of a setting to get", + "in": "path", + "name": "setting", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PutAccountSettingRequestBody" + } + } + }, + "description": "Modify account setting", + "required": true + }, + "responses": { + "204": { + "description": "No Content" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Modify a specific current user account setting.", + "tags": [ + "Account Settings" + ] + } + }, + "/cost-models/": { + "get": { + "operationId": "listCostModels", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "description": "Filter response on source uuid.", + "in": "query", + "name": "source_uuid", + "required": false, + "schema": { + "format": "uuid", + "type": "string" + } + }, + { + "description": "Filter response on source type.", + "in": "query", + "name": "source_type", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Filter response on cost model name.", + "in": "query", + "name": "name", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Filter response on currency.", + "in": "query", + "name": "currency", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Filter response on cost model description.", + "in": "query", + "name": "description", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Order response on cost model by allowed fields.", + "in": "query", + "name": "ordering", + "required": false, + "schema": { + "enum": [ + "name", + "-name", + "source_type", + "-source_type", + "updated_timestamp", + "-updated_timestamp" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CostModelPagination" + } + } + }, + "description": "A paginated list of cost model objects" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "List the cost models", + "tags": [ + "Cost Models" + ] + }, + "post": { + "operationId": "createCostModel", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CostModel" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CostModelOut" + } + } + }, + "description": "An object describing the cost model" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Create a new cost model.", + "tags": [ + "Cost Models" + ] + } + }, + "/cost-models/{cost_model_uuid}/": { + "delete": { + "operationId": "deleteCostModel", + "parameters": [ + { + "description": "UUID of Cost Model to get", + "in": "path", + "name": "cost_model_uuid", + "required": true, + "schema": { + "format": "uuid", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Cost Model deleted" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Bad Request" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Delete a Cost Model", + "tags": [ + "Cost Models" + ] + }, + "get": { + "operationId": "getCostModel", + "parameters": [ + { + "description": "UUID of Cost Model to get", + "in": "path", + "name": "cost_model_uuid", + "required": true, + "schema": { + "format": "uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CostModelOut" + } + } + }, + "description": "A Cost Model object" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Get a Cost Model.", + "tags": [ + "Cost Models" + ] + }, + "put": { + "operationId": "updateCostModel", + "parameters": [ + { + "description": "UUID of Cost Model to get", + "in": "path", + "name": "cost_model_uuid", + "required": true, + "schema": { + "format": "uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CostModel" + } + } + }, + "description": "Update to a Cost Model", + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CostModelOut" + } + } + }, + "description": "A Cost Model object" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Update a Cost Model", + "tags": [ + "Cost Models" + ] + } + }, + "/cost-type/": { + "get": { + "operationId": "getCostType", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CostTypePagination" + } + } + }, + "description": "An object describing the supported cost types" + } + }, + "summary": "Obtain the supported cost types", + "tags": [ + "Cost Type" + ] + } + }, + "/currency/": { + "get": { + "operationId": "getCurrency", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Currency" + } + } + }, + "description": "An object describing the supported currencies" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Currencies not found" + } + }, + "summary": "Obtain the supported currencies", + "tags": [ + "Currency" + ] + } + }, + "/forecasts/aws/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "AWS Cost Forecasts" + }, + "/forecasts/azure/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "Azure Cost Forecasts" + }, + "/forecasts/gcp/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "GCP Cost Forecasts" + }, + "/forecasts/oci/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "OCI Cost Forecasts" + }, + "/forecasts/openshift/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "OpenShift Cost Forecasts" + }, + "/forecasts/openshift/infrastructures/all/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "OpenShift on Cloud Cost Forecasts" + }, + "/forecasts/openshift/infrastructures/aws/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "OpenShift on AWS Cost Forecasts" + }, + "/forecasts/openshift/infrastructures/azure/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "OpenShift on Azure Cost Forecasts" + }, + "/forecasts/openshift/infrastructures/gcp/costs/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Forecast" + } + } + }, + "description": "An object describing the cost forecast." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Request Error" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "tags": [ + "Forecasts" + ] + }, + "summary": "OpenShift on GCP Cost Forecasts" + }, + "/ingress/reports/": { + "get": { + "operationId": "listIngressReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IngressReportsPagination" + } + } + }, + "description": "A paginated list of ingress report objects" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "List Ingress Reports", + "tags": [ + "Ingress Reports" + ] + }, + "post": { + "operationId": "postIngressReports", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IngressReportIn" + } + } + }, + "description": "Reports posted for particular source", + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IngressReportsPagination" + } + } + }, + "description": "A paginated list of ingress report objects" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid Input Error" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Post ingress reports", + "tags": [ + "Ingress Reports" + ] + } + }, + "/ingress/reports/{source_id}/": { + "get": { + "operationId": "getSourceIngressReports", + "parameters": [ + { + "description": "ID of source to get", + "in": "path", + "name": "source_id", + "required": true, + "schema": { + "example": 1, + "format": "int64", + "type": "integer" + } + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IngressReportOut" + } + } + }, + "description": "Report objects for a source" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Get ingress reports for a source", + "tags": [ + "Ingress Reports" + ] + } + }, + "/metrics/": { + "get": { + "operationId": "getMetrics", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Metrics" + } + } + }, + "description": "An object describing the cost model metrics." + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Obtain Metrics", + "tags": [ + "Metrics" + ] + } + }, + "/organizations/aws/": { + "get": { + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/OrganizationFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrganizationPagination" + } + } + }, + "description": "A paginated list of Organization objects" + }, + "403": { + "description": "Access to the requested resource is forbidden" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "View AWS organizations", + "tags": [ + "Organizations" + ] + } + }, + "/recommendations/openshift/": { + "get": { + "operationId": "getRecommendationList", + "parameters": [ + { + "$ref": "#/components/parameters/QueryCluster" + }, + { + "$ref": "#/components/parameters/QueryWorkloadType" + }, + { + "$ref": "#/components/parameters/QueryWorkload" + }, + { + "$ref": "#/components/parameters/QueryContainer" + }, + { + "$ref": "#/components/parameters/QueryProject" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + }, + { + "$ref": "#/components/parameters/QueryPaginationOffset" + }, + { + "$ref": "#/components/parameters/QueryPaginationLimit" + }, + { + "$ref": "#/components/parameters/QueryOrderByReport" + }, + { + "$ref": "#/components/parameters/QueryOrderHow" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecommendationList" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/RecommendationList" + } + } + }, + "description": "OK" + }, + "401": { + "description": "Unauthorized" + } + }, + "summary": "Get all recommendations", + "tags": [ + "Optimizations" + ] + } + }, + "/recommendations/openshift/{recommendation-id}": { + "get": { + "operationId": "getRecommendationById", + "parameters": [ + { + "$ref": "#/components/parameters/PathRecommendation" + }, + { + "$ref": "#/components/parameters/QueryMemoryUnit" + }, + { + "$ref": "#/components/parameters/QueryCpuUnit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecommendationBoxPlots" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/RecommendationBoxPlots" + } + } + }, + "description": "OK" + }, + "401": { + "description": "Unauthorized" + } + }, + "summary": "Get recommendations for container", + "tags": [ + "Optimizations" + ] + } + }, + "/reports/aws/costs/": { + "get": { + "operationId": "getAWSCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + }, + { + "$ref": "#/components/parameters/CostType" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain cost reports", + "tags": [ + "AWS Reports" + ] + } + }, + "/reports/aws/instance-types/": { + "get": { + "operationId": "getAWSInstanceReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportInstanceInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportInstanceInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain AWS instance type data", + "tags": [ + "AWS Reports" + ] + } + }, + "/reports/aws/storage/": { + "get": { + "operationId": "getAWSStorageReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportStorageInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportStorageInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain AWS storage data", + "tags": [ + "AWS Reports" + ] + } + }, + "/reports/azure/costs/": { + "get": { + "operationId": "getAzureCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain cost reports", + "tags": [ + "Azure Reports" + ] + } + }, + "/reports/azure/instance-types/": { + "get": { + "operationId": "getAzureInstanceReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportInstanceInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportInstanceInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain Azure instance type data", + "tags": [ + "Azure Reports" + ] + } + }, + "/reports/azure/storage/": { + "get": { + "operationId": "getAzureStorageReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportStorageInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportStorageInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain Azure storage data", + "tags": [ + "Azure Reports" + ] + } + }, + "/reports/gcp/costs/": { + "get": { + "operationId": "getGCPCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain cost reports", + "tags": [ + "GCP Reports" + ] + } + }, + "/reports/gcp/instance-types/": { + "get": { + "operationId": "getGCPInstanceReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportInstanceInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportInstanceInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain GCP instance type data", + "tags": [ + "GCP Reports" + ] + } + }, + "/reports/gcp/storage/": { + "get": { + "operationId": "getGCPStorageReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportStorageInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportStorageInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain GCP storage data", + "tags": [ + "GCP Reports" + ] + } + }, + "/reports/oci/costs/": { + "get": { + "operationId": "getOciCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain cost reports", + "tags": [ + "OCI Reports" + ] + } + }, + "/reports/oci/instance-types/": { + "get": { + "operationId": "getOciInstanceReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportInstanceInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportInstanceInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OCI instance type data", + "tags": [ + "OCI Reports" + ] + } + }, + "/reports/oci/storage/": { + "get": { + "operationId": "getOciStorageReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportStorageInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportStorageInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OCI storage data", + "tags": [ + "OCI Reports" + ] + } + }, + "/reports/openshift/compute/": { + "get": { + "operationId": "getOpenShiftComputeReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftCpu" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftCpu" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift compute usage information", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/costs/": { + "get": { + "operationId": "getOpenShiftCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCost" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain cost reports", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/all/costs/": { + "get": { + "operationId": "getOpenShiftAllCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCosts" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCosts" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on all infrastructures cost reports", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/all/instance-types/": { + "get": { + "operationId": "getOpenShiftAllInventoryInstanceReport", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAllInstanceInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAllInstanceInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on all infrastructures instance data", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/all/storage/": { + "get": { + "operationId": "getOpenShiftAllInventoryStorageReport", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAllStorageInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAllStorageInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on all infrastructures storage data", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/aws/costs/": { + "get": { + "operationId": "getOpenShiftAWSCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCosts" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCosts" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on AWS cost reports", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/aws/instance-types/": { + "get": { + "operationId": "getOpenShiftAWSInventoryInstanceReport", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAWSInstanceInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAWSInstanceInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on AWS instance data", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/aws/storage/": { + "get": { + "operationId": "getOpenShiftAWSInventoryStorageReport", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAWSStorageInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAWSStorageInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on AWS storage data", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/azure/costs/": { + "get": { + "operationId": "getOpenShiftAzureCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCosts" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCosts" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on Azure cost reports", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/azure/instance-types/": { + "get": { + "operationId": "getOpenShiftAzureInventoryInstanceReport", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAzureInstanceInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAzureInstanceInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on Azure instance data", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/azure/storage/": { + "get": { + "operationId": "getOpenShiftAzureInventoryStorageReport", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAzureStorageInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAzureStorageInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on Azure storage data", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/gcp/costs/": { + "get": { + "operationId": "getOpenShiftGCPCostReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryDelta" + }, + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportCosts" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportCosts" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on GCP cost reports", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/gcp/instance-types/": { + "get": { + "operationId": "getOpenShiftGCPInventoryInstanceReport", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAWSInstanceInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAWSInstanceInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on GCP instance data", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/infrastructures/gcp/storage/": { + "get": { + "operationId": "getOpenShiftGCPInventoryStorageReport", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAWSStorageInventory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftAWSStorageInventory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift on GCP storage data", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/memory/": { + "get": { + "operationId": "getOpenShiftMemoryReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftMemory" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftMemory" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift memory usage information", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/reports/openshift/volumes/": { + "get": { + "operationId": "getOpenShiftVolumeReports", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryGroupBy" + }, + { + "$ref": "#/components/parameters/QueryOrderBy" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "$ref": "#/components/parameters/QueryStartDate" + }, + { + "$ref": "#/components/parameters/QueryEndDate" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftVolume" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ReportOpenShiftVolume" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift volume usage information", + "tags": [ + "OpenShift Reports" + ] + } + }, + "/resource-types/": { + "get": { + "operationId": "listResourceTypes", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypeListPagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List Resource Types For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/aws-accounts/": { + "get": { + "operationId": "listResourcesAwsAccounts", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List AWS Accounts For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/aws-categories/": { + "get": { + "operationId": "listResourcesAwsCategories", + "parameters": [ + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryKey" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryAccount" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypeAwsCategories" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "Obtain mapping of key and values for AWS Categories.", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/aws-organizational-units/": { + "get": { + "operationId": "listResourcesAwsOrgUnits", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List AWS Organizational Units For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/aws-regions/": { + "get": { + "operationId": "listResourcesAwsRegions", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List AWS Regions For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/aws-services/": { + "get": { + "operationId": "listResourcesAwsServices", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List AWS Services For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/azure-regions/": { + "get": { + "operationId": "listResourcesAzureRegions", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List Azure Regions For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/azure-services/": { + "get": { + "operationId": "listResourcesAzureServices", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List Azure Services For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/azure-subscription-guids/": { + "get": { + "operationId": "listResourcesAzureSubGuids", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List Azure Subscription Guids For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/cost-models/": { + "get": { + "operationId": "listResourcesCostModels", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List Cost Models For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/gcp-accounts/": { + "get": { + "operationId": "listResourcesGcpAccounts", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List GCP Accounts For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/gcp-projects/": { + "get": { + "operationId": "listResourcesGcpProjects", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List GCP Projects For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/gcp-regions/": { + "get": { + "operationId": "listResourcesGcpRegions", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List GCP Regions For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/gcp-services/": { + "get": { + "operationId": "listResourcesGcpServices", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List GCP Services For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/oci-payer-tenant-ids/": { + "get": { + "operationId": "listResourcesOciTenantids", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List OCI Subscription Guids For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/oci-regions/": { + "get": { + "operationId": "listResourcesOciRegions", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List OCI Regions For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/oci-services/": { + "get": { + "operationId": "listResourcesOciServices", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List OCI Services For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/openshift-clusters/": { + "get": { + "operationId": "listResourcesOpenShiftClusters", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List OpenShift Clusters For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/openshift-nodes/": { + "get": { + "operationId": "listResourcesOpenShiftNodes", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List OpenShift Nodes For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/resource-types/openshift-projects/": { + "get": { + "operationId": "listResourcesOpenShiftProjects", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryValue" + }, + { + "$ref": "#/components/parameters/QueryOrder" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceTypePagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "List OpenShift Projects For RBAC", + "tags": [ + "Resource Type" + ] + } + }, + "/settings/": { + "get": { + "operationId": "getSettings", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "example": [ + { + "fields": [ + { + "component": "component", + "label": "label", + "name": "name" + } + ] + } + ], + "items": { + "$ref": "#/components/schemas/SettingOut" + }, + "type": "array" + } + } + }, + "description": "Data driven forms components" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to cost management settings", + "tags": [ + "Settings" + ] + }, + "post": { + "operationId": "assignSettings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingIn" + } + } + }, + "description": "Application settings that needs to stored", + "required": true + }, + "responses": { + "200": { + "description": "Settings successfully stored" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid Input Error" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Assign to cost management settings", + "tags": [ + "Settings" + ] + } + }, + "/settings/aws_category_keys/": { + "get": { + "operationId": "getAwsCategoryKeysSettings", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/GetAwsCategorySettings" + }, + "type": "array" + } + } + }, + "description": "New api endpoint for retrieving aws category keys." + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to cost management settings", + "tags": [ + "Settings" + ] + } + }, + "/settings/aws_category_keys/disable/": { + "put": { + "operationId": "putDisableAwsCategoryKeysSettings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyKeySettingsRequestBody" + } + } + }, + "description": "Disable aws category key by uuid", + "required": true + }, + "responses": { + "204": { + "description": "No Content" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Disable aws category key by uuid.", + "tags": [ + "Settings" + ] + } + }, + "/settings/aws_category_keys/enable/": { + "put": { + "operationId": "putEnableAwsCategoryKeysSettings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyKeySettingsRequestBody" + } + } + }, + "description": "Enable aws category key by uuid", + "required": true + }, + "responses": { + "204": { + "description": "No Content" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Enable aws category key by uuid.", + "tags": [ + "Settings" + ] + } + }, + "/settings/cost-groups/": { + "get": { + "operationId": "getSettingsCostGroups", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryFilter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CostGroupsResponse" + } + } + }, + "description": "OpenShift projects and the current cost group" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Bad Request" + } + }, + "summary": "Query which projects belong to which cost groups", + "tags": [ + "Settings", + "Cost Groups" + ] + } + }, + "/settings/cost-groups/remove/": { + "put": { + "operationId": "putSettingsCostGroupsRemove", + "requestBody": { + "$ref": "#/components/requestBodies/CostGroupsBody" + }, + "responses": { + "204": { + "description": "Cost groups updated" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Bad Request" + } + }, + "summary": "Remove projects from a cost group", + "tags": [ + "Settings", + "Cost Groups" + ] + } + }, + "/settings/cost/groups/add/": { + "put": { + "operationId": "putSettingsCostGroups", + "requestBody": { + "$ref": "#/components/requestBodies/CostGroupsBody" + }, + "responses": { + "204": { + "description": "Cost groups updated" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Bad Request" + } + }, + "summary": "Add projects to a cost group", + "tags": [ + "Settings", + "Cost Groups" + ] + } + }, + "/settings/tags/": { + "get": { + "operationId": "getSettingsTags", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "description": "Cloud provider type", + "in": "query", + "name": "source_type", + "schema": { + "type": "string" + } + }, + { + "description": "Enable state of the tag", + "in": "query", + "name": "enabled", + "schema": { + "type": "boolean" + } + }, + { + "description": "Field(s) used to sort results. Add a '-' prefix for descending order.", + "in": "query", + "name": "order_by", + "schema": { + "example": [ + "source_type", + "-enabled" + ], + "items": { + "type": "string" + }, + "type": "array" + } + }, + { + "description": "UUID of a tag entry", + "in": "query", + "name": "uuid", + "schema": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + { + "description": "Case insensitive search of key values. One or more key parameters may be provided.", + "in": "query", + "name": "key", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingsTagsResponse" + } + } + }, + "description": "Returned tags sucessfully" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query tags in Cost Management from cloud sources", + "tags": [ + "Settings" + ] + } + }, + "/settings/tags/disable/": { + "put": { + "operationId": "putSettingsTagsDisable", + "requestBody": { + "$ref": "#/components/requestBodies/PutTagsBody" + }, + "responses": { + "204": { + "description": "Successfully changed. No content" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Disable tags in Cost Management", + "tags": [ + "Settings" + ] + } + }, + "/settings/tags/enable/": { + "put": { + "operationId": "putSettingsTagsEnable", + "requestBody": { + "$ref": "#/components/requestBodies/PutTagsBody" + }, + "responses": { + "204": { + "description": "Successfully changed. No content" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "412": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingsTagsEnabledLimitError" + } + } + }, + "description": "Request would exceed enabled tags limit" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Enable tags in Cost Management", + "tags": [ + "Settings" + ] + } + }, + "/settings/tags/mappings/": { + "get": { + "operationId": "getSettingsTagsMappings", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "description": "Cloud provider type", + "in": "query", + "name": "source_type", + "schema": { + "type": "string" + } + }, + { + "description": "parent key value", + "in": "query", + "name": "parent", + "schema": { + "type": "string" + } + }, + { + "description": "child key value", + "in": "query", + "name": "child", + "schema": { + "type": "string" + } + }, + { + "description": "Field(s) used to sort results. Add a '-' prefix for descending order.", + "in": "query", + "name": "order_by", + "schema": { + "example": [ + "source_type" + ], + "items": { + "type": "string" + }, + "type": "array" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingsTagsMappingsResponse" + } + } + }, + "description": "Returned tags sucessfully" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Returns relationship mappings for Tag Reconciliation", + "tags": [ + "Settings" + ] + } + }, + "/settings/tags/mappings/child/": { + "get": { + "operationId": "getSettingsTagsMappingsChild", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "description": "Cloud provider type", + "in": "query", + "name": "source_type", + "schema": { + "type": "string" + } + }, + { + "description": "parent key value", + "in": "query", + "name": "parent", + "schema": { + "type": "string" + } + }, + { + "description": "child key value", + "in": "query", + "name": "child", + "schema": { + "type": "string" + } + }, + { + "description": "Field(s) used to sort results. Add a '-' prefix for descending order.", + "in": "query", + "name": "order_by", + "schema": { + "example": [ + "source_type" + ], + "items": { + "type": "string" + }, + "type": "array" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingsTagsMappingsOptionsResponse" + } + } + }, + "description": "Returned tags sucessfully" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Returns available options for tags that can be marked as a child.", + "tags": [ + "Settings" + ] + } + }, + "/settings/tags/mappings/child/add/": { + "put": { + "operationId": "putSettingsTagsMappingsParent", + "requestBody": { + "$ref": "#/components/requestBodies/PutTagsMappingBody" + }, + "responses": { + "204": { + "description": "Successfully changed. No content" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Adds child tags to a parent tag.", + "tags": [ + "Settings" + ] + } + }, + "/settings/tags/mappings/child/remove/": { + "put": { + "operationId": "putSettingsTagsMappingsChildRemove", + "requestBody": { + "$ref": "#/components/requestBodies/PutTagsBody" + }, + "responses": { + "204": { + "description": "Successfully changed. No content" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Removes child tags from mapping.", + "tags": [ + "Settings" + ] + } + }, + "/settings/tags/mappings/parent/": { + "get": { + "operationId": "getSettingsTagsMappingsParent", + "parameters": [ + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "description": "Cloud provider type", + "in": "query", + "name": "source_type", + "schema": { + "type": "string" + } + }, + { + "description": "parent key value", + "in": "query", + "name": "parent", + "schema": { + "type": "string" + } + }, + { + "description": "child key value", + "in": "query", + "name": "child", + "schema": { + "type": "string" + } + }, + { + "description": "Field(s) used to sort results. Add a '-' prefix for descending order.", + "in": "query", + "name": "order_by", + "schema": { + "example": [ + "source_type" + ], + "items": { + "type": "string" + }, + "type": "array" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingsTagsMappingsOptionsResponse" + } + } + }, + "description": "Returned tags sucessfully" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Returns available options for tags that can be marked as a parent.", + "tags": [ + "Settings" + ] + } + }, + "/settings/tags/mappings/parent/remove/": { + "put": { + "operationId": "putSettingsTagsMappingsParentRemove", + "requestBody": { + "$ref": "#/components/requestBodies/PutTagsBody" + }, + "responses": { + "204": { + "description": "Successfully changed. No content" + }, + "400": { + "description": "Invalid request parameter" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Removes all parent and child tags.", + "tags": [ + "Settings" + ] + } + }, + "/sources/": { + "get": { + "operationId": "listSources", + "parameters": [ + { + "description": "The type of source to filter for.", + "in": "query", + "name": "type", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "The name of the source to filter for.", + "in": "query", + "name": "name", + "required": false, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/QueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SourcePagination" + } + } + }, + "description": "A paginated list of source objects" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "List the integrations", + "tags": [ + "Integrations" + ] + } + }, + "/sources/aws-s3-regions/": { + "get": { + "operationId": "getAWSS3Regions", + "parameters": [ + { + "$ref": "#/components/parameters/QueryLimit" + }, + { + "$ref": "#/components/parameters/QueryOffset" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of available S3 regions.", + "example": { + "data": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ca-central-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2" + ] + }, + "type": "object" + } + } + }, + "description": "List of available S3 regions" + } + }, + "summary": "List available AWS S3 regions", + "tags": [ + "Integrations" + ] + } + }, + "/sources/{source_id}/": { + "get": { + "operationId": "getSource", + "parameters": [ + { + "description": "ID of source to get", + "in": "path", + "name": "source_id", + "required": true, + "schema": { + "example": 1, + "format": "int64", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SourceOut" + } + } + }, + "description": "A Source object" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Get an integration", + "tags": [ + "Integrations" + ] + } + }, + "/sources/{source_id}/stats/": { + "get": { + "operationId": "getSourceStats", + "parameters": [ + { + "description": "ID of source to get", + "in": "path", + "name": "source_id", + "required": true, + "schema": { + "example": 1, + "format": "int64", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "Dictionary key is the start of a billing month. Value is report processing statistics.", + "example": { + "2019-01-01": [ + { + "assembly_id": "f0d262ff-cc93-449c-a834-74c4d958d45f", + "billing_period_start": "2019-01-01T00:00:00.000Z", + "files_processed": "1/1", + "process_complete_date": "2019-01-07T21:51:01.000Z", + "process_start_date": "2019-01-07T21:50:58.000Z", + "summary_data_creation_datetime": "2019-01-07T21:51:32.000Z", + "summary_data_updated_datetime": "2019-01-07T21:51:32.000Z" + } + ] + }, + "type": "object" + } + } + }, + "description": "A Source Statistics object" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Get integration statistics", + "tags": [ + "Integrations" + ] + } + }, + "/status/": { + "get": { + "operationId": "getStatus", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Status" + } + } + }, + "description": "An object describing the server status" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "summary": "Obtain server status", + "tags": [ + "Status" + ] + } + }, + "/tags/aws/": { + "get": { + "operationId": "getAWSTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain AWS tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/aws/{key}": { + "get": { + "operationId": "getAWSTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain AWS tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/azure/": { + "get": { + "operationId": "getAzureTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain Azure tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/azure/{key}": { + "get": { + "operationId": "getAzureTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain Azure tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/gcp/": { + "get": { + "operationId": "getGCPTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain GCP tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/gcp/{key}": { + "get": { + "operationId": "getGCPTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain GCP tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/oci/": { + "get": { + "operationId": "getOciTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OCI tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/oci/{key}": { + "get": { + "operationId": "getOciTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OCI tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/": { + "get": { + "operationId": "getOpenShiftTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/infrastructures/all/": { + "get": { + "operationId": "getOpenShiftAllTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift-on-All tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/infrastructures/all/{key}": { + "get": { + "operationId": "getOpenShiftAllTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift-on-All tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/infrastructures/aws/": { + "get": { + "operationId": "getOpenShiftAWSTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift-on-AWS tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/infrastructures/aws/{key}": { + "get": { + "operationId": "getOpenShiftAWSTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift-on-AWS tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/infrastructures/azure/": { + "get": { + "operationId": "getOpenShiftAzureTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift-on-Azure tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/infrastructures/azure/{key}": { + "get": { + "operationId": "getOpenShiftAzureTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift-on-Azure tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/infrastructures/gcp/": { + "get": { + "operationId": "getOpenShiftGCPTagData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryKeyOnly" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "401": { + "description": "Unauthorized" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift-on-GCP tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/infrastructures/gcp/{key}": { + "get": { + "operationId": "getOpenShiftGCPTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift-on-GCP tags", + "tags": [ + "Tags" + ] + } + }, + "/tags/openshift/{key}": { + "get": { + "operationId": "getOpenShiftTagKeyData", + "parameters": [ + { + "$ref": "#/components/parameters/QueryFilter" + }, + { + "$ref": "#/components/parameters/QueryOffset" + }, + { + "$ref": "#/components/parameters/ReportQueryLimit" + }, + { + "description": "The tag key to get", + "in": "path", + "name": "key", + "required": true, + "schema": { + "example": "production", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tags" + } + } + }, + "description": "A paginated report object" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Invalid query parameter" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Not Found" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "description": "Unexpected Error" + } + }, + "security": [ + { + "basic_auth": [] + } + ], + "summary": "Query to obtain OpenShift tags", + "tags": [ + "Tags" + ] + } + }, + "/user-access/": { + "get": { + "operationId": "listUserAccess", + "parameters": [ + { + "$ref": "#/components/parameters/QueryType" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAccessListPagination" + } + } + }, + "description": "| - 200 response" + } + }, + "summary": "Returns user permission status.", + "tags": [ + "UserAccess" + ] + } + } + }, + "servers": [ + { + "description": "Target Environment", + "url": "https://{environment}.redhat.com/api/cost-management/v1", + "variables": { + "environment": { + "default": "console", + "enum": [ + "console" + ] + } + } + }, + { + "description": "Development Server", + "url": "http://localhost:{port}/{basePath}", + "variables": { + "basePath": { + "default": "api/cost-management/v1" + }, + "port": { + "default": "8080" + } + } + } + ], + "tags": [ + { + "description": "Operations about AWS report interactions", + "name": "AWS Reports" + }, + { + "description": "Operations about Azure report interactions", + "name": "Azure Reports" + }, + { + "description": "Operations about OpenShift report interactions", + "name": "OpenShift Reports" + }, + { + "description": "Operations about GCP report interactions", + "name": "GCP Reports" + }, + { + "description": "Operations about OCI report interactions", + "name": "OCI Reports" + }, + { + "description": "Operations about platform integrations interactions", + "name": "Integrations" + }, + { + "description": "Operations about cost model interactions", + "name": "Cost Models" + }, + { + "description": "Operations about cost types", + "name": "Cost Type" + }, + { + "description": "Operations about cost model metrics", + "name": "Metrics" + }, + { + "description": "Operations about tag interactions", + "name": "Tags" + }, + { + "description": "Operations about settings", + "name": "Settings" + }, + { + "description": "Operations about status", + "name": "Status" + }, + { + "description": "Resource Optimization for Openshift", + "name": "Optimizations" + } + ] + } +} \ No newline at end of file